수치형과 일반 범주형은 어제 다뤘다. 오늘은 특별한 처리가 필요한 두 가지 데이터 유형 — **날짜·시간(시계열)**과 텍스트 — 의 특성 공학을 본다. 마지막으로 인코딩에서 늘 골치인 고차원(high-cardinality) 범주형을 차원 축소·해싱으로 다루는 법을 정리한다.
이 영역은 MLS-C01에서 "어떤 변환이 어떤 데이터에 맞는가"를 묻는 형태로 자주 출제된다.
날짜 컬럼(2026-06-26 14:30:00)을 그대로 쓰면 모델은 의미를 못 읽는다. 의미 있는 성분으로 **분해(decompose)**해야 한다.
| 파생 피처 | 예시 | 포착하는 패턴 |
|---|---|---|
| year / month / day | 2026, 6, 26 | 장기 추세, 계절성 |
| dayofweek | 0(월)~6(일) | 요일 효과 |
| hour | 0~23 | 일중 패턴 |
| is_weekend | 0/1 | 주말 여부 |
| is_holiday | 0/1 | 공휴일 효과 |
| days_since_event | 90 | 경과 시간 |
import pandas as pd