피처 엔지니어링
요약: 피처 엔지니어링은 원시 데이터를 머신러닝 모델이 더 빠르고 정확하게 학습할 수 있도록 돕는 의미 있는 입력값으로 변환합니다.
피처 엔지니어링은 머신러닝 모델이 학습에 사용하는 입력 변수, 즉 피처를 생성하는 과정입니다. 피처는 데이터의 측정 가능한 속성입니다. 좋은 피처는 예측 작업에 중요한 도메인 지식을 인코딩합니다. 관련 없는 피처는 노이즈를 추가하고 모델 성능을 저하시킵니다. 피처 엔지니어링은 딥러닝이 많은 부분을 자동화하기 전까지 ML에서 가장 중요한 기술이었습니다.
핵심 기법
- 정규화 및 스케일링: 값을 공통 범위(0–1 또는 z-점수)로 재조정합니다. 큰 크기의 피처가 지배하는 것을 방지합니다.
- 범주형 인코딩: 원-핫, 레이블 또는 타겟 인코딩을 사용하여 범주를 숫자로 변환합니다.
- 로그 변환: 편향된 분포(소득, 인구)에 로그를 적용합니다. 모델이 학습할 패턴을 더 선형적으로 만듭니다.
- 날짜/시간 피처: 타임스탬프 열에서 요일, 시간 또는 이벤트 경과 시간을 추출합니다.
- 상호작용 피처: 모델이 개별적으로 놓칠 수 있는 결합 효과를 포착하기 위해 두 피처를 곱하거나 결합합니다.
- 텍스트 피처: NLP 작업을 위해 텍스트를 TF-IDF 벡터, 단어 수 또는 임베딩으로 변환합니다.
피처 선택
모든 피처가 모델을 향상시키는 것은 아닙니다. 너무 많은 피처는 ‘차원의 저주’를 유발합니다. 일반적인 선택 방법으로는 상관 분석, 상호 정보, 재귀적 피처 제거가 있습니다. 랜덤 포레스트와 같은 트리 기반 모델은 내장된 피처 중요도 점수를 제공합니다. 정규화 기법(L1/Lasso)은 약한 피처를 자동으로 제거합니다.
피처 엔지니어링 대 딥러닝
전통적인 ML(로지스틱 회귀, 그래디언트 부스팅)은 수작업으로 만든 피처에 의존합니다. 딥러닝은 원시 데이터에서 자동으로 표현을 학습합니다. CNN은 수작업 엔지니어링 없이 이미지 피처를 학습합니다. 트랜스포머는 대규모 코퍼스에서 텍스트 피처를 엔드투엔드로 학습합니다. 피처 엔지니어링은 신경망이 고유한 이점을 갖지 않는 표 형식 및 도메인 특화 데이터에서 여전히 중요합니다.
데이터 품질과 피처 품질
피처의 품질은 기반 데이터만큼만 좋습니다. 그라운드 트루스 레이블은 피처가 분할 전반에 걸쳐 일반화되도록 일관성이 있어야 합니다. 결측값, 이상값, 스키마 드리프트는 시간이 지남에 따라 피처를 저하시킵니다. Bright Data의 데이터셋은 원시 데이터 정제의 부담 없이 피처 추출에 바로 사용할 수 있는 깨끗하고 구조화된 학습 데이터를 제공합니다.