AI 용어집 · 기초 · 전통 ML·추천·검색
피처 엔지니어링 Feature Engineering
피처 엔지니어링은 원본 데이터를 머신러닝 모델이 패턴을 잘 찾을 수 있는 입력값(피처)으로 골라내고, 가공하고, 새로 만들어 내는 작업이다.
어떻게 작동하나
먼저 데이터를 살펴보고 예측하려는 결과와 관련 있을 만한 정보를 고른다. 빈 값을 채우고, 숫자의 크기를 맞추고, '서울·부산' 같은 범주 값을 숫자로 바꾸는 기본 가공을 한다. 이어서 업무 지식을 써서 새로운 피처를 만든다. 예를 들어 '가입일'과 '오늘 날짜'로 '가입 기간'을, 주문 기록으로 '최근 한 달 구매 횟수'를 만든다. 만든 피처가 실제로 도움이 되는지 교차 검증으로 확인하고, 쓸모없는 피처는 덜어 낸다.
피처 엔지니어링 순서
- 1관련 정보 고르기예측 결과와 관련 있을 데이터
- 2기본 가공빈 값 채우기·크기 맞추기·범주를 숫자로
- 3새 피처 만들기가입 기간·최근 구매 횟수 등
- 4검증하고 덜어 내기교차 검증으로 효과 확인
왜 중요한가
표처럼 정리된 정형 데이터를 다루는 결정 트리·그래디언트 부스팅 같은 모델에서는 피처의 질이 성능을 크게 좌우한다. 좋은 피처는 모델이 스스로 찾기 어려운 업무 지식을 직접 알려 주는 역할을 한다. 딥러닝은 이미지·글에서 피처를 스스로 배우기 때문에 사람이 직접 만드는 부분이 줄었지만, 수요 예측·이상 탐지·추천 시스템 같은 실무에서는 여전히 핵심 작업이다. 잘 만든 피처는 피처 스토어에 모아 여러 모델이 함께 쓰기도 한다.
알아 둘 점
가장 흔한 함정은 데이터 누수다. 예측 시점에는 알 수 없는 미래 정보를 피처에 넣으면 시험 성적은 좋지만 실제 서비스에서는 성능이 크게 떨어진다. 피처를 너무 많이 만들면 과적합이 생기기 쉽다. 학습할 때와 실제 서비스할 때 피처를 똑같은 방식으로 계산해야 한다는 점도 중요하다. 시간이 지나 데이터 성질이 바뀌면 피처가 쓸모를 잃을 수 있어 데이터 드리프트를 지켜봐야 한다.
예시
통신사가 다음 달 해지할 고객을 미리 찾으려 한다고 하자. 원본 데이터에는 요금 납부 기록, 통화 기록, 상담 기록이 따로 있다. 분석가는 '최근 석 달 데이터 사용량 변화', '최근 상담에서 해지 문의 여부', '약정 만료까지 남은 기간' 같은 피처를 만들어 그래디언트 부스팅 모델에 넣는다. 이때 '이미 해지 신청이 접수됐는지'처럼 예측 시점에 알 수 없는 정보는 데이터 누수가 되므로 빼야 한다.