Feature Engineering (특성공학)
* Feature Engineering (특성공학)
- 데이터 준비 과정에서 다루고 있는 문제를 더 잘 해결하기 위해 Raw Data 를 Feature(특징) 로 변환하는 과정
- 더 단순하고 유연하며 더 나은 결과를 가져다 줄 수 있다
* Feature (특성)
- 대상 문제를 해결하는데 유용하거나 의미있는 특징
- 중요도를 객관적으로 측정하여, 그 값에 따라 모델에 포함하거나 제외할 수 있음
: 상관 계수, 회귀 계수, p-value, 의사결정 나무의 Feature Importance 를 이용할 수 있다
* Feature Extraction
- Raw Data 로 부터 새로운 Feature 를 만들어 내는 경우
- 자동화를 통해 추출한다
* Feature Selection
- Forward Selection (전진 선택) 과 Backward Elimination (후진 제거) 방식이 있다
* Feature Construction
- Raw Data 로 부터 새로운 Feature 를 만들어 내는 경우
- 수작업으로 이루어지고, 매우 느리게 진행되며, 사람의 생각에 의지하고, 적절한 분석과 작업이 이루어지면 큰 효과를 낸다
* Feature Learning
- Raw Data 로 부터 새로운 Feature 를 만들어 내는 경우
- 비지도학습, 세미 지도학습 등의 방법으로 Feature 에 대한 학습을 통하여 Feature 를 적절하게 구성하거나 선택을 지원
- 블랙박스 모델
* Regularization (정규화; Personalized Models)
* Feature Engineering 과정
1. Brainstorm Features
- 데이터를 깊이, 많이 보고 분서갛고 다른 사례에 대한 검토
2. Devise Features
- 자동 혹은 수동으로 Extraction, Construction 수행
3. Select Features
- 중요도 점수를 분석하여 선택한다
* Bias (편향)
- 예측값이 정답과 얼마나 다른지를 나타냄
* Variance (분산)
- 예측값들이 서로 흩어져 있는 정도
* 모델의 복잡도
- 입력 변수가 증가하면 복잡도 증가
- 출력 변수의 타입이 증가하면 복잡도 증가
- 입력 변수와 출력 변수가 비선형적이면 복잡도 증가
* Underfitting (과소적합)
- 모델의 복잡도가 너무 낮아 입력 데이터로부터 충분히 학습하지 못하여 성능이 낮은 경우
- 해결방안
: 학습시간을 늘린다
: 더 복잡한 모델을 구성한다
: Feature 를 추가한다
: Regularization 을 사용하지 않거나 줄인다
: Model 을 재생성한다
* Overfitting (과대적합)
- 모델의 복잡도가 너무 높아 입력 데이터의 Noise 까지 Fitting 하여 일반화에 실패 및 성능이 낮은 경우
- 해결방안
: 학습시간을 줄인다
: 데이터를 추가한다
: 더 심플한 모델을 구성한다
: 일부 Feature 를 제거한다
: Regularization 을 활용한다
: Ensemble (앙상블) 모델을 적용한다