반응형
머신러닝 모델의 성능을 평가하는 방법은 크게 두가지로 나눌 수 있습니다.
하나는 hold-out 교차검증이고 하나는 k-fold 교차검증입니다.
1. Hold - out 교차검증
- 데이터셋을 훈련셋과 테스트셋으로 분리합니다.
- 빠른 속도로 검증가능
- 단점 : 훈련셋과 테스트셋으로만 나눠서 모델의 성능을 평가하다보면, 테스트셋이 모델의 파라미터 설정에 큰 영향을 미치게 됩니다. 모델이 테스트셋에 오버피팅될 가능성이 있음
오버피팅을 최소한으로 하는 검증이 바로 KFold이다.
2. K-Fold 교차검증(K-Fold cross validation)
- 전체데이터를 k등분하고, 각등분을 한번씩 검증데이터로 사용
- 각폴드의 성능 결과값을 평균내서 검증
---------------------------------------------실습해보기---------------------------------------------------

먼저 sklearn을 불러오고 KFfold가 들어있는 model_selection 함수를 불러온다 .
kfold는 객체가 제너레이터로 반환이 된다는것을 알수 있다 .
그런데 값을 보면 순서대로 나열된것을 볼수 있다 . 이러면 검증할때 잘 검증이 안될수 있으므로
섞어 놔야한다 .
변수로 SEED를 주고 세상에서 아름다운 숫자 42를 넣어두고
kfold 옵션에 셔플을 써서 값을 섞어준다.
그리고 값이 반환되는것을 보면 두 리스트로 반환이 되는것을 알수 있다
이것은 for문을 돌려서 두 리스트를 두 변수에 담아준다.
이제 검증할 시간이다 .
for문을 돌리고 두 값을 tri, vai 변수에 담은다음 학습데이터랑 검증데이터로 나눈다.
값은 0.85가 나왔다 . 이정도면 좋은 모델인것을 확인을 할수 있다 .
반응형
'머신러닝' 카테고리의 다른 글
<<<머신러닝>>> 회귀 평가 지표 (0) | 2022.09.08 |
---|---|
<<<머신러닝>>> 성능측정 (Metric) (0) | 2022.09.08 |
<<<머신러닝>> 과적합 (0) | 2022.09.07 |
<<<머신러닝>>> 인공지능과 머신러닝의 개념 (0) | 2022.09.07 |
<<<머신러닝>>> 층화추출 (0) | 2022.09.07 |