IT Study/인공지능 관련

🎯 Feature Engineering 기초: 수치형, 범주형, 시간형 변수 처리

cs_bot 2025. 4. 7. 16:28

1. 개요

  • 인공지능 및 머신러닝 알고리즘의 성능은 모델 자체뿐 아니라 입력 데이터의 품질 및 구성에 크게 의존함
  • 원시 데이터를 모델 학습에 적합한 형태로 가공하고 변환하는 과정인 Feature Engineering은 성능 향상의 핵심 요소임
  • 특히 수치형, 범주형, 시간형 변수는 대부분의 데이터셋에서 공통적으로 등장하며, 이에 대한 적절한 전처리 및 변환 기법 숙지가 필수적임
  • 각 변수 유형에 따라 처리 방식이 다르며, 이를 효과적으로 다룰 수 있어야 모델 정확도 향상과 과적합 방지, 해석 가능성 증가에 기여할 수 있음

2. 수치형(Numerical) 변수 처리

  • 수치형 변수는 연속형 변수(Continuous)와 이산형 변수(Discrete)로 구분됨
  • 주로 수학적 연산이 가능하며, 거리 기반 모델이나 회귀 분석 등에서 중요한 입력 특성으로 사용됨

(1) 정규화 및 표준화

  • 각기 다른 스케일을 가진 변수 간 불균형 문제 해결 필요
  • Min-Max 정규화: 0~1 범위로 축소하여 모델 수렴 속도 향상
  • Z-score 표준화: 평균 0, 표준편차 1로 변환하여 이상치 민감도 완화

(2) 이상치 처리

  • 박스 플롯, Z-score, IQR(Interquartile Range) 등으로 이상치 탐지
  • 이상치 제거, 평균/중앙값 대체, 로그 변환 등으로 대응

(3) 비선형 변환

  • 로그, 루트, 제곱 등 비선형 함수 적용하여 분포 치우침(skewness) 보정
  • 예: 소득, 거래량, 방문수 등에서 로그 변환 활용

(4) 이산화(Discretization 또는 Binning)

  • 연속형 수치를 범주형으로 변환해 트리 기반 모델에서 성능 향상 유도
  • 예: 연령 → 청소년/성인/노인, 소득 → 저/중/고 소득군

(5) 상호작용 항 생성

  • 두 수치형 변수의 곱 또는 비율 등 생성해 숨겨진 패턴 추출
  • 예: 가격 × 수량 → 총 매출액

3. 범주형(Categorical) 변수 처리

  • 범주형 변수는 고유값(Label)만 존재하며 수학적 연산이 불가능한 특성 가짐
  • 명목형(Nominal), 순서형(Ordinal) 변수로 구분되며 처리 방식 상이함

(1) Label Encoding

  • 각 범주를 정수값으로 매핑
  • 순서형 변수에 적합하나, 명목형 변수에는 순위 왜곡 위험 존재

(2) One-Hot Encoding

  • 범주 수만큼 이진 열 생성하여 표현
  • 범주 간 우열관계 제거 가능, 하지만 차원 증가 문제 있음

(3) Target Encoding (Mean Encoding)

  • 각 범주의 종속 변수 평균값으로 대체
  • 통계 기반 인코딩 방식으로 성능 향상 가능하나 과적합 주의 필요

(4) Frequency/Count Encoding

  • 범주 등장 빈도나 횟수로 치환
  • 희소범주(Rare Category) 처리에도 효과적

(5) 임베딩(Embedding) 기법

  • 고차원 범주형 데이터를 저차원 연속 공간으로 매핑
  • 딥러닝 기반 모델에서 활용도 높음 (예: Word2Vec, Entity Embedding)

(6) Rare Category Handling

  • 빈도 낮은 범주들을 ‘기타(Others)’로 통합
  • 데이터 희소성 문제 완화 및 모델 일반화 향상

4. 시간형(Temporal) 변수 처리

  • 시간형 데이터는 시간 흐름에 따른 연속성을 가지며 시계열 분석, 트렌드 추출에 중요함
  • 단순 시간 정보 외에도 계절성, 주기성, 이벤트 등 다양한 의미 내포

(1) Datetime 파싱 및 분리

  • 날짜 변수 분해 → 연도, 월, 일, 요일, 시간 등 개별 특성 추출
  • 각 구성요소가 예측 변수로 활용 가능

(2) 주기성(Seasonality) 처리

  • 예: 요일, 월, 시간대 등에 따라 반복되는 패턴 존재
  • 주기적 변수는 사인/코사인 변환 적용하여 순환성 표현 가능
    • 예: 시간(hour)을 sin(2πt/24), cos(2πt/24)로 변환

(3) 경과 시간(Elapsed Time) 생성

  • 특정 기준 시점과의 시간 차이를 계산
  • 예: 첫 방문일 대비 경과 일수, 최근 활동으로부터의 시간 간격

(4) 시점 기준 파생 변수 생성

  • 누적합, 이동평균, 지수평활 등 시계열 기반 파생 변수 생성
  • 예: 최근 7일 평균 매출, 지난 3개월 클릭 수 등

(5) 이벤트 기준 인덱싱

  • 특정 이벤트 발생 전후의 시간 간격 또는 순번으로 파생 변수 생성
  • 예: 마케팅 캠페인 전후 고객 반응 변화 추적

5. 종합 고려사항

  • Feature Engineering은 단순한 변환 작업을 넘어, 도메인 지식과 통계적 통찰이 결합된 분석 기법
  • 데이터 분포, 변수 간 상관관계, 모델 구조 등을 고려하여 전처리 전략 결정 필요
  • 변환 전/후 모델 성능 비교, 데이터 시각화 기반의 탐색적 분석 필수
  • AutoML 시대에도 Feature Engineering의 중요성은 여전하며, 자동화된 툴로는 감지 어려운 복합적 패턴 발굴 가능

6. 결론

  • 수치형, 범주형, 시간형 변수 각각에 특화된 처리 방식 존재
  • 적절한 Feature Engineering은 모델 학습 성능 향상뿐만 아니라 결과 해석력 및 일반화 능력까지 향상시키는 핵심 요소임
  • 다양한 처리 기법을 실전 데이터에 적용하고 실험함으로써 경험 기반의 Feature Engineering 역량 강화 필요