Feature Engineering
머신러닝 알고리즘을 작동하기 위해 데이터에 대한 도메인 지식을 활용하여 특징(feature)를 만들어내는 과정이다.
머신러닝 모델을 위한 데이터 테이브르이 컬럼(특징)을 생성하거나 선택하는 작업.
모델의 성능을 높이기 위해 모델에 입력할 데이터를 만들기 위해 주어진 초기 데이터로 특징을 가공하고 생성하는 전체 광정.
특징 선택(Feature Selection)
특징 랭킹 또는 특징 중요도라고도 불린다.
분류 모델 중 Decision Tree 같은 경우는 트리의 상단에 있을 수록 중요도가 높으므로 이를 반영하여 특징 별로 중요도를 매길 수 있다. 회귀 모델의 경우 forward selection과 backward elimination 같은 알고리즘을 통해 특징을 선택한다.
특징 생성(Feature Generation)
특징 구축(Feature Construction)이라고도 하며, 이 방법을 흔히 많은 사람들이 Feature Engineering이라고 말한다. 초기에 주어진 데이터로부터 모델링 성능을 높이는 새로운 특성을 만드는 과정이다. 데이터에 대한 도메인 전문성을 바탕으로 데이터를 합치거나 쪼개는 등의 작업을 거쳐 새로운 Feature를 만들게 된다. 이 작업은 한번으로 끝내는 것이 아니라 끊임없이 모델링 성능을 높이는 목적으로 반복해서 작업할 수 있는 부분이기 때문에 전문성과 경험에 따라 비용과 시간을 줄일 수 있는 부분이다.
간단한 예) 시간 데이터를 AM / PM 으로 나누는 것.
Feature Engineering 처리
브레인스토밍 또는 특징 테스트 -> 생성할 특징 결정 -> 특징 생성 -> 모델에서 특징이 어떻게 작동하는지 확인 -> 필요한 경우 개선
Feature Engineering 방법 분류
지표 변수 : 지표가 되는 변수를 만드는 것
ex) 성인 구분
중복 특징 : 두 개의 특징을 결합하여 새로운 특징을 만드는 방법
ex ) 클릭 수 & 접속 수 결합
대표 특징 : 특징들로부터 대표성을 갖는 새로운 특징을 만드는 작업
ex ) 12학년 제도로 표시되는 데이터가 있을 때 초등학교, 중학교, 고등학교로 구분
외부 데이터 : 모델 성능을 높이기 위해 기존의 주어진 데이터 외의 다른 데이터를 활용
에러 분석 : 모델을 통해 나온 결과를 바탕으로 특징을 만드는 방법
에러 분석 (Error Analysis - Post - Modeling)
Start with larger errors : 모델을 통해 나온 모든 값을 확인하기 보다 에러값이 큰 feature부터 확인하는 방법
Segment by classes : 평균 에러 값을 기준으로 segment를 나누어 비기하면서 분석하는 방법
Unsupervised clustering : 패턴을 발견하는데 어려움이 있을 경우 Unsupervised(비지도)학습인 clustering을 클래스로 분류하는 것이 아니라 에러의 원인을 찾는 방법으로 사용해야 한다는 점 주의.
Ask colleagues or domain experts : 데이터를 통해서 발견할 수 없다면 도메인(분야) 전문가의 도움을 통해 에러의 원인을 찾아낼 수도 있음.
'AI > ML' 카테고리의 다른 글
분류 성능 지표 : Precision, Recall, F1-score (0) | 2024.12.17 |
---|---|
[알파] 초기 다중 회귀 (0) | 2024.10.07 |
[ML] 소프트맥스 회귀 구현하기 (0) | 2024.05.07 |
[ML] 소프트맥스 회귀(Softmax Regression) 이해하기 (0) | 2024.05.03 |
[ML] 원-핫 인코딩(One-Hot Encoding) (0) | 2024.04.05 |