피처 엔지니어링은 모델 학습에 입력할 데이터를 더 풍성하고 가치 있게 만드는 작업이다. 즉 좋은 데이터가 들어갈수록 좋은 결과를 얻을 수 있다는 말이다. 각각의 피처 엔지니어링 기법은 아래와 같다.
결측치 처리
데이터 누락으로 인해 많은 데이터를 사용하지 못할 때 사용하고, 데이터가 누락된 부분을 평균, 특정값으로 채우는 방법이다.
아웃라이어처리
선형 모델과 같이 아웃라이어의 영향에 민감한 모델에서 주로 사용하고, 다른 무리들과 크게 벗어나는 아웃라이어를 제거하거나 값을 조정해 튀는 데이터가 없도록 하는 기법이다.
바이닝(Bining)
오버피팅(과적합)으로 모델 성능이 문제 될 때 사용하고, 연속된 수치로 된 데이터를 특정 구간으로 묶는 기법이다.
로그 변환
데이터 형태가 왜곡되어 변환이 필요한 경우 특히 선형모델에 유용한 변환으로 데이터에 로그를 씌워 왜곡된 데이터를 정규화하는 방법이다.
더미변수
문자로 된 범주형 데이터를 0과 1을 사용하는 숫자형 데이터로 변경하는 기법이고, 범주형 데이터에서 사용한다. 대표적으로 원핫인코딩이 있다.
Grouping(그룹핑)
고유값이 너무 많은 범주형 데이터를 특정 그룹으로 묶는 기법으로 범주형 데이터에서 고윳값이 너무 많아 더미 변수로 쓰기 곤란할 경우 사용한다.
스케일링
각 변수의 데이터 범위(스케일)가 다를 때, 이를 일정하게 맞추는 기법으로, 거리 기반으로 작동하는 모델(K-최근접 이웃, K-평균 군집화)등이 있다.
날짜 추출
날짜 데이터의 특정 속성이 중요한 역할을 할 때 날짜 데이터에서 연/월/일 혹은 요일 등을 추출해 필요한 정보만 사용하는 기법이다.
텍스트 분할
텍스트로 변수에 불필요한 정보가 많이 뒤섞여 있을 경우, 텍스로 된 변수에서 특정 부분의 단어를 가져오거나, 특정 기호가 들어간 부분을 기준으로 나누어, 필요한 항목만 추출하는 기법
새로운 변수 창출
데이터에 대한 백그라운드 지식이 있을 경우, 주어진 변수들을 사용해 새로운 변수를 계산하는 방법이다.