#개념
특징 엔지니어링(Feature Engineering)은 원시 데이터를 머신러닝(Machine Learning) 모델이 효과적으로 학습할 수 있는 입력 변수, 즉 특징(feature)으로 변환하고 새로 만들어 내며 선별하는 일련의 과정이다. 모델은 주어진 특징 공간 안에서만 패턴을 찾을 수 있으므로, 어떤 정보를 어떤 형태로 모델에 제공하느냐가 성능의 상한을 결정한다. 실무에서는 알고리즘을 바꾸는 것보다 좋은 특징 하나를 추가하는 것이 성능을 더 크게 끌어올리는 경우가 흔하며, 이 때문에 특징 엔지니어링은 도메인 지식과 탐색적 데이터 분석(Exploratory Data Analysis, EDA)이 가장 직접적으로 모델 성능으로 이어지는 단계로 여겨진다. 특징 엔지니어링은 크게 결측치와 이상치의 처리, 수치형 변수의 변환, 범주형 변수의 인코딩, 새로운 변수의 생성, 특징 선택으로 나눌 수 있다.결측치(missing value) 처리는 가장 먼저 마주치는 문제다. 결측이 완전히 무작위로 발생했는지(MCAR), 관측된 다른 변수에 의존하는지(MAR), 결측된 값 자체에 의존하는지(MNAR)에 따라 적절한 대응이 다르다. 단순한 방법으로는 평균·중앙값·최빈값 대체가 있고, 다른 변수로부터 결측값을 예측하는 KNN 대치나 반복적 회귀 대치(MICE) 같은 다변량 대치가 있다. 중요한 점은 결측 여부 자체가 정보인 경우가 많다는 것으로, 예를 들어 소득 항목이 비어 있다는 사실이 신용 위험과 상관될 수 있으므로 대치와 함께 결측 지시 변수(missing indicator)를 추가하는 것이 일반적이다. 트리 기반 모델은 결측을 별도 분기로 다룰 수 있어 대치에 덜 민감하지만, 선형 모델과 신경망(Neural Network)은 반드시 결측을 채워야 한다. 이상치(outlier)는 오류인지 실제 극단값인지 판단한 뒤 제거, 상·하한 절단(clipping, winsorizing), 로그 변환 등으로 영향을 완화한다.스케일링(scaling)은 변수 간 단위와 범위 차이를 맞추는 작업이다. 평균 0, 표준편차 1로 맞추는 표준화(standardization) $z = (x - \mu) / \sigma$, 최솟값과 최댓값을 기준으로 $[0, 1]$ 범위로 맞추는 정규화(min-max normalization), 중앙값과 사분위 범위를 사용하여 이상치에 강건한 로버스트 스케일링이 대표적이다. 거리나 내적에 기반하는 경사 하강법(Gradient Descent) 학습 모델, KNN, SVM, 신경망은 스케일에 민감하므로 스케일링이 필수이지만, 결정 트리 계열은 분할 기준이 순서에만 의존하므로 영향을 받지 않는다. 분포가 심하게 치우친 변수에는 로그 변환이나 Box-Cox, Yeo-Johnson 같은 거듭제곱 변환, 분위수 변환을 적용하여 정규분포에 가깝게 만들기도 한다. 범주형 변수 인코딩은 문자열 범주를 수치로 바꾸는 작업으로, 범주마다 이진 열을 만드는 원-핫 인코딩(one-hot encoding), 순서가 있는 범주에 정수를 부여하는 순서 인코딩, 범주별 목표 변수의 평균으로 대체하는 목표 인코딩(target encoding), 등장 빈도로 대체하는 빈도 인코딩, 해시 함수로 고정 차원에 매핑하는 해싱 트릭이 있다. 목표 인코딩은 고유값이 많은 고카디널리티 변수에 효과적이지만 목표 변수 정보가 직접 새어 들어가므로 반드시 교차 검증 방식으로 폴드 밖에서 계산하고 스무딩을 적용해야 한다.구간화(binning, discretization)는 연속형 변수를 몇 개의 범주 구간으로 나누는 기법이다. 동일 폭(equal-width), 동일 빈도(equal-frequency, 분위수) 구간화나 결정 트리를 이용한 지도 구간화가 있으며, 나이를 연령대로, 소득을 소득 구간으로 묶는 식이다. 구간화는 비선형 관계를 선형 모델이 포착하도록 돕고 이상치의 영향과 잡음을 줄이지만 정보 손실을 동반한다. 파생 변수(derived feature)는 도메인 지식을 바탕으로 기존 변수를 조합하여 만드는 새로운 변수로, 키와 몸무게로부터 체질량지수를 계산하거나 총 구매액을 구매 횟수로 나누어 평균 객단가를 만드는 것이 예다. 두 변수의 곱이나 비율처럼 변수 간 결합 효과를 표현하는 상호작용 특징(interaction feature)과 다항 특징은 선형 모델이 표현하지 못하는 관계를 명시적으로 제공한다. 집계 특징은 사용자별 최근 30일 구매 횟수, 상품별 평균 평점처럼 그룹 단위 통계량을 계산하여 개별 행에 결합하는 방식으로, 추천과 이탈 예측 등에서 가장 강력한 특징이 되는 경우가 많다.데이터 유형에 따라 특화된 특징 기법도 있다.
- 시간 특징 : 타임스탬프에서 연·월·요일·시간대·공휴일 여부를 추출하고, 시간이나 요일처럼 순환하는 값은 사인·코사인 변환 $(\sin\frac{2\pi t}{T}, \cos\frac{2\pi t}{T})$으로 23시와 0시가 인접하도록 표현한다. 시계열에서는 과거 값을 그대로 가져오는 지연(lag) 특징, 이동 평균과 이동 표준편차 같은 롤링 통계량, 이전 시점과의 차분이 핵심이다.
- 텍스트 특징 : 토큰화(Tokenization) 후 단어 빈도를 세는 단어 가방(bag-of-words), 문서 내 빈도와 전체 문서에서의 희소성을 함께 반영하는 TF-IDF, 문자열 길이·특수문자 비율 같은 통계량, 그리고 사전 학습된 임베딩(Embedding) 벡터를 특징으로 사용한다.
- 범주형·식별자 특징 : 우편번호, 상품 ID처럼 범주가 매우 많은 변수는 상위 계층으로 묶거나(우편번호 앞자리), 빈도 기반으로 희소 범주를 기타로 통합하거나, 임베딩 층으로 학습하여 밀집 벡터로 표현한다.
#관련 용어
결측치 대치
비어 있는 값을 평균·중앙값·예측값 등으로 채워 모델이 처리할 수 있게 만드는 기법
원-핫 인코딩범주형 변수의 각 범주를 0과 1로 이루어진 별도의 이진 열로 변환하는 인코딩 방식
데이터 누수예측 시점에 알 수 없는 정보가 학습 특징에 포함되어 검증 성능이 실제보다 과대평가되는 현상
피처 스토어특징의 정의와 계산, 저장, 제공을 중앙에서 관리하여 학습과 서빙의 일관성을 보장하는 시스템
탐색적 데이터 분석시각화와 요약 통계를 통해 데이터의 분포와 구조, 이상 징후를 파악하는 분석 과정
차원 축소정보 손실을 최소화하면서 특징의 개수를 줄여 새로운 저차원 표현을 얻는 기법
#직무 연관도
DAData Analyst높음
파생 변수 설계와 구간화, 결측치 처리는 분석 리포트와 예측 모델 모두의 기반이 된다
DSData Scientist밀접
모델 성능의 상한을 결정하는 단계로, 도메인 지식을 특징으로 변환하고 누수 없이 검증하는 능력이 핵심 역량이다
DEData Engineer높음
특징 파이프라인의 자동화와 피처 스토어 구축, 학습-서빙 일관성 보장을 담당한다
#사용 사례
전자상거래금융의료통신제조온라인 광고
개요
특징 엔지니어링은 신용 평가, 사기 탐지, 수요 예측, 추천 시스템, 질병 예측, 설비 고장 예측 등 데이터 기반 예측 모델을 구축하는 모든 영역에서 필수적으로 수행된다. 특히 표 형태 데이터를 다루는 산업 현장에서는 모델 선택보다 특징의 품질이 성과를 좌우하는 경우가 많다.
사례이커머스 이탈 예측 모델에서는 원시 접속 로그와 주문 기록으로부터 최근 7일·30일 방문 횟수, 마지막 구매 이후 경과 일수, 평균 객단가, 주 구매 카테고리 비율, 요일별 접속 패턴 같은 집계·시간 특징을 생성한다. 이때 예측 기준일 이후의 로그가 섞이지 않도록 시점 정합 조인으로 특징을 계산하고, 동일한 정의를 피처 스토어에 등록하여 학습과 실시간 추론에서 같은 값을 사용하도록 한다.
#참고 자료
#추천 포스트
© 2024 diki All rights reserved.