-
AI/ML 기반 데이터 분석 시리즈 6화 - 피처 엔지니어링과 스케일링 전략: 데이터의 본질을 꿰뚫는 변환 기법AI/데이터 2025. 5. 7. 15:50728x90
모델 성능의 대부분은 좋은 알고리즘보다 좋은 피처에서 나옵니다.
이번 글에서는 데이터를 모델이 해석할 수 있는 구조로 바꾸는 실전 기술인 피처 엔지니어링(feature engineering) 과 스케일링(scaling) 전략을 정리합니다.
AI 분석에서의 핵심 원칙은 ‘데이터를 버리지 않고 최대한 살려내는 것’입니다.
1. 피처 엔지니어링이란?
피처 엔지니어링은 단순히 컬럼을 추가하거나 변환하는 작업을 넘어,
모델이 학습하기 쉬운 구조로 데이터를 재설계하는 과정입니다.
대표 목적은 다음과 같습니다:
- 모델의 예측력을 높이기 위한 정보 구조화
- 복잡한 관계를 단순화
- 비정형/범주형 데이터를 수치화
- 모델 입력 조건을 맞추기 위한 스케일 정규화
2. 변수 변환 기법
2.1 수치형 데이터 변환
기법목적예시
로그 변환 분포 압축, 왜도 감소 소득, 판매량, 클릭 수 제곱근 변환 완만한 곡선화 심하게 오른쪽 치우친 분포 Box-Cox, Yeo-Johnson 정규성 확보 통계 모델 전처리 범위 압축 (Clipping) 이상치 영향 최소화 상위 99% cut-off df['log_income'] = np.log1p(df['income']) # log(1 + x) df['sqrt_score'] = np.sqrt(df['score'])
2.2 범주형 데이터 처리
One-Hot Encoding
- 예: [‘Male’, ‘Female’] → [1, 0], [0, 1]
- 라이브러리: pd.get_dummies(), OneHotEncoder
Label Encoding
- 순서형 범주: [‘Low’, ‘Medium’, ‘High’] → [0, 1, 2]
- 주의: 트리 기반 모델엔 괜찮지만, 거리 기반 모델엔 왜곡 발생
Count Encoding
- 각 범주가 등장한 횟수로 변환 → 희소도 낮춤
Target Encoding
- 각 범주의 평균 타겟 값으로 인코딩 (e.g. 평균 구매율)
from sklearn.preprocessing import LabelEncoder le = LabelEncoder() df['gender_encoded'] = le.fit_transform(df['gender'])
2.3 날짜/시간형 변수 처리
기법목적
연/월/일/요일/시 추출 시간 패턴 해석 가능 날짜 간 차이 계산 경과시간, 주기성 계절 변수, 휴일 여부 추가 시간 외적 영향 포함 df['date'] = pd.to_datetime(df['date']) df['year'] = df['date'].dt.year df['weekday'] = df['date'].dt.weekday
3. 스케일링 기법
모델에 따라 입력 데이터의 크기, 분포, 범위가 학습에 영향을 주기 때문에,
스케일링은 필수 전처리 중 하나입니다.
3.1 주요 스케일링 기법
기법설명특징
MinMaxScaler 0~1 정규화 극단값 민감, NN에 적합 StandardScaler 평균 0, 표준편차 1 SVM, LR, PCA에서 필수 RobustScaler 중앙값 기준, 이상치 영향 적음 분포가 왜곡된 경우 QuantileTransformer 균등 분포/정규 분포로 강제화 비선형 모델에 활용 from sklearn.preprocessing import MinMaxScaler, StandardScaler scaler = MinMaxScaler() df[['income_scaled']] = scaler.fit_transform(df[['income']])
3.2 적용 대상 모델 예시
모델 유형스케일링 필요 여부추천 기법
선형회귀, 로지스틱 매우 중요 StandardScaler KNN, SVM 필수 MinMax 또는 Robust 트리계열 (DT, RF, XGB) 불필요 생략 가능 딥러닝 필수 MinMax, Z-score 정규화
4. 파생 변수 생성 전략
4.1 조합 피처
- amount = price × quantity
- age_group = binning(age)
4.2 비율/차이 피처
- click_to_purchase_ratio = click / purchase
- income_gap = expected_income – actual_income
4.3 시간 기반 피처
- 주기성, 반복성
- 연속 사용 시간, 마지막 활동일 등
5. 실전 팁: 피처 엔지니어링 체크리스트
- 모델이 예측하려는 목표에 직접적인 관련이 있는가?
- 기존 컬럼들을 단순 변형하거나 재해석한 것인가?
- 과도하게 파생 피처를 생성해서 과적합 위험은 없는가?
- 모델의 종류에 따라 인코딩/스케일링 방식이 적절한가?
- 생성한 피처가 실제 성능 향상에 기여하는가? → feature importance 확인 필요
결론: 데이터는 ‘다듬는 기술’이 성능을 만든다
피처 엔지니어링은 단순한 전처리가 아니라, 데이터를 통해 의미를 추출하고 재구성하는 고급 작업입니다.
모델이 데이터를 이해할 수 있도록 돕는 것은 사람인 분석가의 역할이며, 이 영역이 곧 경쟁력입니다.
다음 7화에서는 이렇게 변환된 데이터를 가지고
머신러닝 모델링의 첫 단계 – 분류(Classification)의 핵심 구조와 구현을 살펴보겠습니다.
728x90'AI > 데이터' 카테고리의 다른 글
분야별 데이터 수집 전략 가이드 시리즈 - 3화. 서울 열린데이터광장 실전 활용법: 위치 기반 데이터로 인사이트 만들기 (0) 2025.05.07 데이터 수집과 EDA 전략 시리즈 – 3화. 결측치와 이상치 탐지 전략: 데이터의 허점을 읽어내는 기술 (1) 2025.05.07 분야별 데이터 수집 전략 가이드 시리즈 - 2화. 공공데이터포털 완전 정복: API 인증부터 실전 수집까지 (1) 2025.05.05 데이터 수집과 EDA 전략 시리즈 – 2화. 탐색적 데이터 분석(EDA)의 정의와 철학 (0) 2025.05.05 AI/ML 기반 데이터 분석 시리즈 5화 - 결측치와 이상치 처리 전략: 정제된 데이터를 만드는 기술 (1) 2025.05.05