2025. 6. 20. 19:37ㆍ용어정리/개념-IT
📌Feature Engineering(피처 엔지니어링)
💡 개념 요약
- 언제: 머신러닝 모델이 널리 사용되기 시작한 2010년대부터 중요성이 부각됨
- 누가: 데이터 과학자, 머신러닝 엔지니어, 분석가들이 주로 수행
- 왜: 머신러닝 모델의 성능을 좌우하는 입력 특성(features) 을 효과적으로 구성하기 위해 필요함
피처 엔지니어링은 데이터 속 변수들을 가공하고 변형하여 모델이 학습하기 좋은 형태로 만드는 작업을 의미함. 좋은 모델은 좋은 데이터와 그 안의 "좋은 피처"로부터 나온다는 전제가 있음.

❓ 내가 가졌던 의문
데이터를 모았는데 모델 성능이 낮은 건 왜일까?
전처리는 했는데, 피처 엔지니어링은 또 다른 건가?
👉 GPT와의 대화를 통해 아래와 같이 정리됨:
- 전처리(preprocessing) 는 결측값 처리나 이상치 제거처럼 데이터 정리 수준
- 피처 엔지니어링 은 도메인 지식을 바탕으로 새로운 변수 생성, 변환, 선택 등 모델을 위한 데이터 재구성 작업
- 같은 알고리즘을 사용해도, 피처가 바뀌면 성능이 극적으로 달라질 수 있음
🧠 개념 이해 과정
🔹 피처 엔지니어링의 핵심 구성
- 피처 선택 (Feature Selection)
- 모델에 유의미한 피처만 남기고, 불필요하거나 상관관계가 낮은 피처 제거
- 예: 상관계수, 카이제곱 검정, L1 규제 기반 기법 사용
- 피처 추출 (Feature Extraction)
- 여러 변수에서 핵심 정보를 요약하여 새 피처 생성
- 예: PCA(주성분 분석), 텍스트 벡터화(TF-IDF, Word2Vec)
- 피처 생성 (Feature Creation)
- 기존 데이터를 조합하여 새로운 피처 생성
- 예: 날짜 → 요일/시간대, 거리 = √(x² + y²), 로그/제곱 변환 등
- 피처 인코딩 (Feature Encoding)
- 범주형 데이터를 수치형으로 변환
- 예: 원-핫 인코딩, 라벨 인코딩, 타깃 인코딩 등
- 스케일링 / 정규화
- 값의 범위를 일정하게 맞춰서 모델이 잘 수렴하도록 돕는 과정
- 예: StandardScaler, MinMaxScaler
🔸 헷갈렸던 지점
- 데이터 전처리와 피처 엔지니어링이 혼동되었음
- 그러나 전처리는 데이터 품질 관리, 피처 엔지니어링은 성능을 끌어올리기 위한 설계 작업임
🛠 핵심 기술 요약 표
| 정의 | 머신러닝 모델의 성능을 향상시키기 위해 입력 피처를 생성, 변환, 선택하는 과정 |
| 핵심 개념 | 피처 선택, 추출, 생성, 인코딩, 스케일링 |
| 사용 분야 | 머신러닝 전처리 단계, AutoML, 신용 평가, 이미지 분석, 텍스트 분류 등 |
| 대표 기술/제품 | Scikit-learn, Featuretools, pandas, AutoFeat, Google AutoML |
| 유사 기술 | 데이터 전처리, 특성 스케일링, 차원 축소 |
🔍 좋은 피처란 무엇인가?
모델에 넣을 피처를 만든다고 해서 모두가 성능에 도움이 되는 건 아니다. 오히려 쓸모없는 피처는 모델을 복잡하게 만들고, 과적합(overfitting)의 원인이 되기도 한다. 그렇다면 어떤 피처가 "좋은 피처"일까?
▶ 좋은 피처의 기준
| 🎯 예측 성능 기여도 | 해당 피처를 넣었을 때 모델의 정확도, F1, RMSE 등 성능 지표가 향상되는가 |
| 🔄 중복 여부 | 기존 피처와 너무 유사하거나 상관관계가 높다면 중복된 정보일 수 있음 |
| 📊 정보 이득 (Information Gain) | 타겟 변수와의 관련성이 높은가? (예: 결정 트리 기반 중요도) |
| 📚 도메인 의미성 | 모델이 파악하지 못하는 비즈니스 또는 현장 기반의 핵심 의미가 있는가 |
예: "날짜" 피처를 단순히 숫자로 쓰는 것보다 "요일", "시간대", "공휴일 여부" 등으로 변형하면 의미성 있는 피처가 될 수 있음
🔧 모든 피처를 넣고 테스트해야 할까?
이론적으로는 모든 피처 조합을 다 실험해보는 것이 가장 정확하지만, 현실에서는 피처 수가 많아질수록 계산 비용이 급격히 증가함. 따라서 효율적인 피처 선택 기법이 필요하다.
▶ 현실적인 피처 평가 방법
| ✔ 단변수 테스트 | 각 피처와 타겟 간의 독립적 유의성 검정 (예: 카이제곱, ANOVA) |
| ➕ 순차적 선택법 | 피처를 하나씩 추가하거나 제거하며 성능 비교 (Forward/Backward Selection) |
| 🧲 L1 규제 (Lasso) | 중요하지 않은 피처의 계수를 0으로 만들어 자동 선택 |
| 🌲 트리 기반 중요도 | Random Forest나 XGBoost를 통해 피처 중요도를 수치화 |
| 🔁 Permutation Importance | 피처를 무작위로 섞었을 때 성능이 얼마나 하락하는지 측정 |
🔁 예시 흐름 정리
- 모든 피처로 학습 → baseline 성능 확보
- 피처 하나 제거 → 성능 변화 관찰
- 중요한 피처인지 판단 → 유지 or 제거
- 반복 후 최적 피처 조합 결정
이 과정을 자동화해주는 도구로는 sklearn.feature_selection, Boruta, SHAP, Optuna 등이 존재한다.
👣 대상별 학습 및 활용 전략
| 학생 | kaggle 튜토리얼 따라하기 → sklearn 실습 | 대회 참여, ML 기초 학습 |
| 취준생 | 피처 엔지니어링 기법 블로그 정리 → 포트폴리오 구축 | 프로젝트에서 데이터 처리 기술 어필 |
| 현직자 | AutoML 도구와 비교 실험 → 업무 적용 | 분석 자동화, 모델 성능 개선 |
📚 학습 및 진로 연결법
👨🎓 학생
- pandas, numpy로 데이터 핸들링에 익숙해지기
- Kaggle 대회에서 Baseline → 피처 튜닝으로 성능 올리기 연습
👨💼 취업 준비생
- 포트폴리오 예: 동일 데이터셋에 다양한 피처 엔지니어링 방식 적용하여 성능 비교
- 머신러닝 파이프라인 구성 경험 강조
👨🔧 현직자
- Featuretools, AutoFeat 같은 자동화 도구 검토
- 도메인 기반 피처 정의로 비즈니스 인사이트 반영
- AutoML에서 생성된 피처와 수작업 피처 성능 비교 → 업무 자동화 전략 설계
📚 공부 자료 추천
- Kaggle Learn - Feature Engineering
- Scikit-learn 공식 문서: Feature Selection
- Towards Data Science - Feature Engineering 입문
ChatGPT에게 던질 프롬프트 예시
"시간 데이터를 활용한 피처 엔지니어링 방법 예시 알려줘"
"범주형 데이터를 타깃 인코딩할 때 주의점은?"
"PCA와 Feature Selection의 차이는?"
🧠 오늘의 질문
자동화된 AutoML 환경에서도 사람이 직접 피처를 설계해야 하는 경우는 어떤 상황일까?
✨ 마무리 통찰
피처 엔지니어링은 단순한 기계 학습이 아닌, 도메인 지식과 창의성을 요구하는 데이터 과학의 핵심 작업임. 같은 데이터라도 어떻게 피처를 구성하느냐에 따라 결과가 완전히 달라질 수 있다.
✅ 마무리 요약
“Feature Engineering이란 결국 모델이 더 잘 학습하도록 데이터를 설계하고 가공하는 과정이다.”

'용어정리 > 개념-IT' 카테고리의 다른 글
| [개념/IT]공간과 체험이 확장 된다_확장현실(XR)/개념정리 (0) | 2025.06.24 |
|---|---|
| [개념/IT]다이너마이트가 된 GPT_WormGPT/개념정리 (1) | 2025.06.24 |
| [개념/IT]내외부 모두 경계, 매 순간 검증해야하는 시대_제로 트러스트 보안 모델/개념정리 (0) | 2025.06.20 |
| [개념/IT]도시락이 너무 많아지면 자동으로 관리해야한다면_컨테이너 오케스트레이션/개념정리 (0) | 2025.06.20 |
| [개념/IT]개발과 운영 환경을 분리해주는 마법 상자_컨테이너(Container)/개념정리 (1) | 2025.06.20 |