피처 엔지니어링(Feature Engineering)은 데이터를 분석하고 모델링하기 전에 원시 데이터를 전처리하고 변환하여 모델이 데이터를 효과적으로 학습할 수 있도록 만드는 과정입니다.
데이터셋에 결측치가 포함되어 있는 경우, 이를 처리해야 모델 성능을 높일 수 있습니다.
삭제: 결측치가 포함된 열 또는 행을 삭제합니다. (단, 데이터 손실 가능성 있음)
대체(Imputation): 평균, 중앙값, 최빈값 또는 예측값으로 결측치를 대체합니다.
플래그 추가: 결측치 여부를 나타내는 새로운 변수를 추가합니다.
머신러닝 모델(특히 거리 기반 알고리즘)은 변수의 스케일에 영향을 받기 때문에 데이터의 스케일을 맞추는 과정이 필요합니다.
표준화(Standardization): 데이터의 평균을 0, 표준편차를 1로 변환.
정규화(Normalization): 데이터를 0과 1 사이로 변환.
범주형 변수를 모델이 이해할 수 있는 수치형으로 변환하는 방법입니다.
레이블 인코딩(Label Encoding): 범주를 숫자로 매핑 (예: A → 0, B → 1).
원-핫 인코딩(One-Hot Encoding): 각 범주를 새로운 열로 만들고, 해당 범주의 값을 1로 표시.
임베딩(Embeddings): 범주형 데이터를 저차원 연속 공간으로 변환 (주로 딥러닝에서 사용).
새로운 특성을 생성하여 모델 입력으로 제공합니다.
기존 변수의 조합: 변수 간 곱, 합, 차, 비율 등을 생성.
날짜/시간 변수 처리: 단순 날짜에서 분, 시간, 요일, 월과 같은 추가 변수 생성.
도메인 지식 활용: 데이터와 관련된 전문지식을 사용해 새로운 피처를 만듬.
많은 변수로 구성된 데이터에서 중요도를 낮추고, 주요한 정보를 유지하면서 차원을 감소시킵니다.
PCA(Principal Component Analysis): 변수를 선형 변환하여 주성분을 생성.
LDA(Linear Discriminant Analysis): 클래스 정보를 활용하여 중요한 차원을 추출.
t-SNE, UMAP: 비선형 차원 축소 기법(주로 시각화에 사용).
특성을 요약하거나 통계적 수치로 변환하는 과정입니다.
평균, 합계, 최대값, 최소값, 분산 등의 통계를 계산.
그룹화 연산을 통해 데이터 집계. (예: 고객별 구매량의 평균 계산)
데이터의 분포를 정규화하거나 이상치를 줄이기 위해 변환을 수행합니다.
로그 변환(Log Transformation): 데이터 범위 축소.
제곱근 변환(Square Root Transformation): 데이터의 스케일을 줄임.
Box-Cox, Yeo-Johnson: 정규성을 높이는 데 사용되는 방법.
변수의 다항식 형태(제곱, 세제곱 등)를 생성하여 모델 입력으로 추가합니다.
삭제: 이상치를 삭제.
클리핑(Clipping): 최댓값과 최솟값 범위 내로 제한.
변환: 이상치를 처리하기 위한 로그 변환이나 스케일 조정.
중요하지 않은 피처를 제거하여 모델의 성능과 해석력을 개선.
통계적 기법: 피어슨 상관계수, 카이제곱 검정.
모델 기반 기법: Lasso, 중요도 순위(Feature Importance) 사용.
차원 축소 기법: PCA 등을 사용해 선택.
이 외에도 데이터의 특성이나 프로젝트의 도메인에 따라 다양한 피처 엔지니어링 기법을 조합해서 사용할 수 있습니다. 피처 엔지니어링은 단순 기법 이상의 창의성과 도메인 지식을 요구하며, 모델 성능을 크게 좌우하는 요소 중 하나로 여겨집니다.