-
분류( Classification ) - 1Python Machine Learning/분류 2020. 8. 10. 14:42
분류란?
- 학습 데이터로 주어진 데이터의 피처와 레이블값을 머신러닝 알고리즘으로 학습해 모델을 생성하고, 이렇게 생성된
모델에 새로운 데이터 값이 주어졌을 때 레이블 값을 예측하는 것입니다.
- 최근 분류에서 가장 각광을 받는 방법 중 하나인 앙상블은 매우 높은 예측 성능으로 인해 애용되고 있습니다.
- 앙상블의 기본 알고리즘으로 사용하는 것은 결정 트리이며, 결정 트리는 데이터의 스케일링이나 정규화등 사전 가공의 영향이 매우 적지만 과적합이 발생해 예측 성능이 저하될 수도 있다는 단점이 있습니다.
○ 앙상블
- 서로 다르거나 같은 알고리즘을 결합한 형태도 있으나, 일반적으로 배깅과 부스팅방식으로 나뉩니다.
1. 배깅
- 배깅 방식의 대표인 랜덤 포레스트는 뛰어난 예측 성능, 상대적으로 빠른 수행 시간, 유연성 등으로 많은 분석가가 애용하는 알고리즘이지만 근래의 앙상블 방법은 부스팅 방식으로 지속해서 발전하고 있습니다.
2. 부스팅
- 부스팅 방식의 효시인 그래디언트 부스팅의 경우 뛰어난 예측 성능을 가지고 있지만, 수행 시간이 너무 오래 걸리는 단점으로 인해 최적화 튜닝이 어려웠지만, XgBoost 와 LightGBM등 기존 부스팅의 예측 성능을 발전시키고 수행 시간을 단축시킨 알고리즘이 계속 등장하였습니다.
○ 결정트리
- 예측 성능을 향상시키기 위해 복잡한 규칙 구조를 가져 과적합이 발생할 수 있지만 이러한 단점이 앙상블 기법에서는 장점으로 작용합니다.
- 앙상블은 여러 개의 약한 학습기를 결합해 확률적 보완과 오류가 발생한 부분에 대한 가중치를 이용해 예측 성능을 향상시키는데, 결정 트리가 좋은 약한 학습기가 되기 때문입니다.
- 앙상블을 설명하기 전에 결정트리 먼저 살펴보겠습니다.