왜 피처 엔지니어링이 ML의 핵심인가
머신러닝 실무자들이 "피처 엔지니어링이 ML의 80%"라고 말하는 이유가 있습니다. 원시 데이터에는 모델이 직접 학습하기 어려운 패턴이 숨어 있습니다. 예를 들어 고객 이탈 예측에서 가입 날짜 자체보다 "가입 후 경과 일수"가 더 의미 있는 피처입니다. 연봉 데이터는 왜곡 분포를 갖기 때문에 로그 변환을 적용해야 선형 모델이 잘 동작합니다. 카테고리형 변수는 원-핫 인코딩이나 임베딩 없이는 대부분의 알고리즘이 처리하지 못합니다.
피처 엔지니어링은 도메인 지식과 ML 기술이 만나는 지점입니다. 어떤 변환이 모델에 도움이 될지는 데이터 분포, 알고리즘 특성, 비즈니스 맥락을 모두 이해해야 판단할 수 있습니다. AWS는 이 복잡한 작업을 지원하는 포괄적인 도구 체인을 제공합니다.
SageMaker Data Wrangler — 시각적 데이터 변환
SageMaker Data Wrangler는 코드 없이(또는 최소한의 코드로) 데이터 변환 파이프라인을 구축할 수 있는 비주얼 인터페이스입니다. ML 엔지니어가 아닌 데이터 과학자나 분석가도 쉽게 사용할 수 있도록 설계되었습니다.
300개 이상의 내장 변환을 제공합니다. 결측값 처리(평균/중앙값/최빈값 대체, 행 삭제), 이상치 처리(IQR 기반 클리핑, Z-score 필터링), 인코딩(원-핫, 서수형, 타겟 인코딩), 스케일링(Min-Max, 표준화), 날짜/시간 피처 추출, 텍스트 처리(TF-IDF, 단어 빈도), 그리고 커스텀 변환(Python/PySpark 코드)까지 지원합니다.
Data Wrangler의 강점은 빠른 탐색적 분석입니다. 데이터를 연결하면 자동으로 요약 통계, 분포 히스토그램, 결측값 현황을 시각화합니다. Quick Model 기능으로 전처리 전/후 모델 성능을 즉시 비교할 수 있습니다. 편향 분석 보고서도 내장되어 있어 SageMaker Clarify와 연동됩니다.
완성된 Data Wrangler 플로우는 SageMaker Processing Job으로 내보내거나 SageMaker Pipeline에 통합할 수 있습니다. 또한 Feature Store에 직접 피처를 수집하는 워크플로우도 지원합니다.
SageMaker Processing — 대규모 커스텀 전처리
Data Wrangler가 비주얼 인터페이스라면, SageMaker Processing은 완전한 프로그래밍 제어가 필요할 때의 선택입니다. 관리형 컨테이너에서 Python, PySpark, R 스크립트를 실행하여 대규모 데이터 전처리, 피처 엔지니어링, 모델 평가, 데이터 품질 검증을 수행합니다.
SKLearnProcessor, PySparkProcessor, ScriptProcessor 등 다양한 프로세서 유형이 있습니다. SKLearnProcessor는 scikit-learn 기반 전처리에 적합하고, PySparkProcessor는 분산 Spark 처리가 필요할 때, ScriptProcessor는 커스텀 Docker 이미지를 사용할 때 선택합니다.
Processing Job의 장점은 완전한 재현성입니다. 모든 전처리 코드, 입력 데이터, 출력 데이터가 S3에 기록되어 나중에 동일한 전처리를 재실행할 수 있습니다. SageMaker Pipeline에 통합하면 학습 파이프라인 전체를 자동화하고 버전 관리할 수 있습니다.
핵심 피처 엔지니어링 기법
시험과 실무 모두에서 중요한 주요 변환 기법들을 정리합니다.
원-핫 인코딩(One-Hot Encoding)은 범주형 변수를 0/1 이진 컬럼으로 변환합니다. "색상: [빨강, 파랑, 초록]" → "색상_빨강: 1, 색상_파랑: 0, 색상_초록: 0" 형태입니다. 카테고리 수가 많으면 차원이 폭발적으로 증가하는 단점이 있습니다. 이 경우 임베딩이나 타겟 인코딩을 고려합니다.
레이블 인코딩(Label Encoding)은 순서가 있는 범주형 변수에 적합합니다. "낮음=0, 중간=1, 높음=2"처럼 순서 관계를 수치로 표현합니다. 트리 기반 알고리즘에는 원-핫 없이 레이블 인코딩만으로도 충분한 경우가 많습니다.
구간화(Binning)는 연속형 변수를 범주형으로 변환합니다. 나이 데이터를 "20대, 30대, 40대"로 묶거나, 구매 금액을 "저/중/고" 3개 구간으로 나누는 방식입니다. 모델 해석성을 높이고 이상치의 영향을 줄이는 효과가 있습니다.
로그 변환(Log Transform)은 왜곡 분포(skewed distribution)를 정규분포에 가깝게 변환합니다. 소득, 가격, 카운트 데이터에 자주 적용됩니다. log(x+1) 형태를 사용하면 0 값도 처리 가능합니다.
Min-Max 정규화(Normalization)는 모든 피처를 [0, 1] 또는 [-1, 1] 범위로 스케일링합니다. KNN, SVM, 신경망처럼 거리 기반이거나 그래디언트 학습 알고리즘에 필수적입니다.
표준화(Standardization, Z-score)는 평균 0, 표준편차 1로 변환합니다. 정규분포를 가정하는 알고리즘(선형 회귀, PCA 등)에 적합합니다.
결측값과 이상치 처리
결측값 처리는 단순히 "평균으로 채운다"가 아닙니다. 왜 결측값이 발생했는지(MCAR, MAR, MNAR)를 이해하고 적절한 전략을 선택해야 합니다.
완전 무작위 결측(MCAR)은 결측 자체가 완전히 무작위인 경우로, 행 삭제나 단순 대체가 가능합니다. 무작위 결측(MAR)은 다른 관측된 변수에 의존적인 경우로, 다중 대체(Multiple Imputation)나 모델 기반 대체가 효과적입니다. 비무작위 결측(MNAR)은 결측 자체가 정보를 담고 있는 경우로, "결측 여부" 자체를 새로운 피처로 추가하는 전략이 유용합니다.
이상치 처리는 제거, 클리핑, 변환 세 가지 접근이 있습니다. IQR(사분위수 범위) 방법으로 Q1 - 1.5IQR 미만 또는 Q3 + 1.5IQR 초과인 값을 이상치로 탐지합니다. Winsorizing(클리핑)은 이상치를 특정 백분위수 값으로 대체하여 정보 손실 없이 영향을 줄입니다.
SageMaker Feature Store — 피처의 중앙 허브
프로덕션 ML 시스템에서 피처를 관리하는 가장 큰 과제는 일관성입니다. 학습 시 사용한 피처와 추론 시 제공되는 피처가 다르면 학습-서빙 불일치(training-serving skew)가 발생하여 모델 성능이 저하됩니다. Feature Store는 이 문제를 해결합니다.
Feature Store는 두 가지 스토어로 구성됩니다. 온라인 스토어(Online Store)는 ElastiCache 기반의 낮은 지연(밀리초 수준) 키-값 조회에 최적화되어 있어 실시간 추론에 사용됩니다. 오프라인 스토어(Offline Store)는 S3 기반으로 배치 학습과 분석에 사용됩니다. 모든 피처 값 변경 이력이 타임스탬프와 함께 저장되어 특정 시점의 피처 값을 조회하는 타임 트래블 쿼리(time-travel query)가 가능합니다.
피처 그룹(Feature Group)은 관련 피처들의 논리적 컨테이너입니다. 예를 들어 "customer_features" 그룹에는 고객 인구통계, 거래 이력, 행동 패턴 피처가 포함될 수 있습니다. Feature Group은 온라인/오프라인 스토어 모두에 동시 수집하거나 둘 중 하나에만 수집할 수 있습니다.
학습 데이터셋 생성 시 오프라인 스토어에서 여러 Feature Group을 조인하는 것이 일반적인 패턴입니다. 이때 타임 트래블 쿼리로 특정 날짜 기준의 피처 스냅샷을 생성하면 데이터 누수(data leakage) 없이 안전한 학습 데이터를 만들 수 있습니다.
데이터 품질 검증
데이터 품질 문제는 조용한 오류입니다. 파이프라인이 실패하지 않고 데이터가 조용히 모델에 들어가 성능을 저하시킵니다. 체계적인 데이터 품질 검증이 필요한 이유입니다.
AWS Glue Data Quality는 DQ(Data Quality) 규칙을 정의하고 데이터셋에 자동 적용합니다. 완전성 규칙(컬럼 결측률 5% 미만), 정확성 규칙(값 범위 검증), 유일성 규칙(중복 행 허용 비율), 참조 무결성 규칙(FK 관계 검증) 등을 DQDL(Data Quality Definition Language)로 정의합니다.
Amazon Glue DataBrew는 코드 없는 데이터 프로파일링 도구입니다. 데이터셋을 연결하면 자동으로 컬럼 통계, 분포 시각화, 결측값 현황, 이상치 후보, 상관관계 히트맵을 생성합니다. 300개 이상의 사전 정의 변환도 제공합니다.
SageMaker Model Monitor와 연동하여 프로덕션 환경의 입력 데이터 분포가 학습 데이터에서 벗어나는 데이터 드리프트를 자동 탐지할 수도 있습니다.
SageMaker Clarify — 사전 훈련 편향 탐지
데이터 품질의 한 측면으로 편향(bias)이 있습니다. 학습 데이터에 편향이 있으면 모델도 편향된 예측을 합니다. SageMaker Clarify는 학습 전 데이터 편향을 정량화하는 메트릭을 계산합니다.
주요 편향 메트릭으로는 CI(Class Imbalance, 클래스 불균형), DPL(Difference in Positive Label Proportions, 보호 그룹 간 양성 레이블 비율 차이), KL Divergence(두 분포의 차이) 등이 있습니다. 예를 들어 채용 데이터에서 성별에 따른 DPL 값이 높다면, 모델을 학습시키기 전에 데이터 재샘플링이나 가중치 조정이 필요합니다.
Clarify는 학습 후 모델 편향(Post-training Bias)과 피처 중요도(SHAP 기반 설명 가능성)도 분석하지만, MLA-C01에서는 사전 훈련 편향 탐지가 도메인 1의 핵심 주제입니다.
데이터 거버넌스 — 보안과 컴플라이언스
ML 데이터 파이프라인에서 개인 식별 정보(PII)와 민감 데이터 처리는 규정 준수의 핵심입니다.
Amazon Macie는 S3에서 PII를 자동 탐지합니다. 신용카드 번호, 주민등록번호, 이메일 주소, 의료 정보 등을 머신러닝 기반으로 탐지하고 경보를 발생시킵니다.
Lake Formation의 열 수준 마스킹을 활용하면 민감 컬럼은 익명화된 형태로만 데이터 사이언티스트에게 제공할 수 있습니다. Glue ETL에서 PII 컬럼을 해시화하거나 토큰화하는 변환을 파이프라인에 포함시키는 것이 표준 패턴입니다.
Amazon DataZone은 데이터 거버넌스와 카탈로그를 기업 수준에서 관리하는 서비스입니다. 데이터 소비자와 생산자 간의 데이터 마켓플레이스를 구성하고, 데이터 리니지(lineage)를 추적하여 특정 ML 모델 예측에 어떤 원본 데이터가 사용되었는지 감사 추적이 가능합니다.