권철민 작가님의 파이썬 머신러닝 완벽 가이드를 보며 배워가는 중. 실습 코드를 올리는 건 저작권에 걸리겠지...?
분류
대표적인 지도학습 방법 가운데 하나.
학습을 위한 다양한 피처와 분류 결정값인 레이블 데이터로 모델 학습, 별도 테스트 데이터 세트에서 레이블 예측한다.
책에서는 scikit-learn이 기본으로 제공하는 iris dataset으로 실습했다.
DecisionTreeClassifier
- 데이터 세트 분리 : 학습 데이터와 테스트 데이터로 분리
- 모델 학습 : 학습 데이터 기반 ML 알고리즘 적용, 모델 학습
- 예측 수행 : 학습된 ML 모델로 테스트 데이터 분류 예측
- 평가 : 예측 결과값과 테스트 데이터의 실제 결과값 비교해 ML 모델 성능 평가
교차검증
Overfitting; 고정된 학습 데이터와 테스트 데이터로 평가를 하면 테스트 데이터에 편향된 모델을 유도하게 된다.
-> 별도의 여러 세트로 구성된 학습 데이터세트와 검증 데이터 세트에서 학습과 평가 수행하여 과적합을 방지한다.
-> 하이퍼 파라미터 튜닝 등의 모델 최적화 더 손쉽게 가능
- 학습 데이터, 테스트 데이터 분할
- 학습 데이터 -> 학습 데이터, 검증 데이터 분할
- 학습/검증 완료 후 성능 평가 위해 테스트 데이터 수행
K Fold Cross Verification
K개의 데이터 폴드 세트로 K번 각 폴드 세트에 학습/검증 평가 반복 수행
ex) 데이터 세트를 5등분 하여 4개를 학습 폴드 세트, 1개를 검증 세트로 지정하여 검증 평가 5회 수행
검증 세트를 매 평가마다 변경
**-> 5번 평가의 평균으로 교차 검증 최종 평가