데이터 분석가:Applied Data Analytics/판다스 데이터분석

Feature Engineering

데이터분석 2025. 2. 18. 09:50
320x100
728x90

1. Feature Engineering이란?

Feature Engineering은 데이터에서 모델의 성능을 극대화할 수 있도록 특징(feature)을 변형, 생성, 선택하는 과정이다. 머신러닝 모델의 성능은 데이터의 질에 크게 의존하기 때문에, Feature Engineering은 매우 중요한 과정이다.


2. Feature Engineering의 핵심 과정

Feature Engineering은 보통 다음 4가지 과정으로 나뉜다.

  1. Feature 생성 (Feature Creation)
    • 원본 데이터에서 새로운 특징을 만들어냄
    • 예: 날짜 데이터를 기반으로 '연도', '월', '요일'을 추가
  2. Feature 변환 (Feature Transformation)
    • 데이터를 모델이 잘 이해할 수 있도록 변형
    • 예: 로그 변환, 스케일링 (표준화, 정규화), 원-핫 인코딩
  3. Feature 선택 (Feature Selection)
    • 성능을 높이기 위해 불필요한 특징을 제거
    • 예: 상관관계 분석, 분산이 낮은 특징 제거, Lasso 회귀
  4. Feature 추출 (Feature Extraction)
    • 기존 데이터를 조합하여 의미 있는 특징을 뽑아냄
    • 예: PCA(주성분 분석), t-SNE, Word2Vec

3. Feature Engineering 기법 예시

1) 수치형 데이터 변환

  • 정규화 (Normalization): 데이터를 [0,1] 범위로 변환
  • 표준화 (Standardization): 평균 0, 표준편차 1이 되도록 변환
  • 로그 변환 (Log Transformation): 정규 분포에 가깝게 조정

2) 범주형 데이터 처리

  • 원-핫 인코딩 (One-Hot Encoding): 범주형 데이터를 0과 1로 변환
  • 레이블 인코딩 (Label Encoding): 범주를 숫자로 변환

3) 시계열 데이터 처리

  • 날짜 데이터를 '연도', '월', '요일' 등으로 분리
  • 이전 값과 현재 값을 비교하는 Lag Feature 생성

4) 결측치 처리

  • 평균, 중앙값, 최빈값으로 대체
  • 결측값을 예측하는 모델 활용

5) 상관관계 분석

  • 피처 간 상관관계가 높으면 하나만 선택
  • VIF(다중공선성) 분석을 통해 중복 제거

4. Feature Engineering의 중요성

Feature Engineering이 잘 되면

  1. 모델 성능이 향상됨 (불필요한 변수 제거, 의미 있는 변수 추가)
  2. 학습 속도가 빨라짐 (차원을 줄이면 연산량 감소)
  3. 과적합 방지 가능 (불필요한 변수 제거로 노이즈 감소)

5. 정리 

Feature Engineering은

  • 새로운 Feature 생성 → 변환 → 선택 → 추출
  • 수치형, 범주형, 시계열 데이터에 따라 적절한 기법 사용
  • 모델의 성능을 높이고 과적합을 방지하는 핵심 과정