교차검증: 학습데이터를 다시 한번 분할해서 학습과 검증 데이터로 나눔. 검증 데이터로 학습 데이터를 미리 테스트. 검증 데이터를 여러번 바꿔서 미리 성능 검증, 모델 테스트 하는 방법.
작은 데이터세트를 가지고 있을 때, 제대로 못 쪼갠 경우 성능이 잘 안 나올 수도 있음. 여러번 모의고사를 보는 것과 같음.(검증)
k-fold 교차검증: k번 fold. 학습과 검증 세트. 4/5 학습 폴드세트 1/5 검증세트. 반복해서 수행. 평균값으로 교차검증 최종 평가.
불균형한 분포도를 가진 레이블이 있을 수도 있음.
예) 신용카드 사기사건. 사기인 건수가 너무 적음. 무작정 분할하면 제대로 학습을 못하는 방향성으로 갈 수도 있음.
이런 경우 stratified k-fold를 사용하는 것이 좋음. 학습 데이터와 검증 데이터 세트가 가지는 레이블 분포도가 유사하도록 검증 데이터를 추출함.(여기서 suffle과 차이가 나는 것 같다!)
Fold를 나누기 전에 무작위로 섞는다.
일반적으로 회귀에는 기본 k-fold 교차검증을 사용하고, 분류에는 StratifiedKFold를 사용한다.
sklearn은 kfold라는 클래스 제공함.
n_splits -> k개의 폴드 세트로 분리하는 kfold 객체를 만들어라.
cv_accuracy = 평균구하려고.
'공부기록 > 머신러닝' 카테고리의 다른 글
[머신러닝] 6주차. XGBoost (0) | 2022.12.19 |
---|---|
[머신러닝] 5주차. 앙상블 (0) | 2022.12.19 |
[머신러닝] 4주차. 결정트리 (0) | 2022.11.11 |
[머신러닝] 3주차. 정확도, 오차행렬, 정밀도, 재현율 (0) | 2022.11.03 |
[머신러닝] 2주차. 데이터 인코딩 (0) | 2022.10.06 |