# StratifiedKFold

과적합 방지 train_test split / K-fold
과적합 방지를 하는 이유❓ 머신러닝 모델에 train 데이터를 100% 학습시킨 후 test 데이터에 모델을 적용했을 때 성능이 생각보다 안나오는 경우가 많고, 이러한 현상을 Overfitting 되었다고 말한다. 모델이 내가 가진 학습데이터에 너무 과적합되어 학습한 상태에서는 이를 조금이라도 벗어난 케이스에 대해서는 예측율이 떨어지기 마련이다. Overfitting 을 방지하는 프로세스는 전체적인 모델 성능을 위해 매우 중요한 단계이다. 이 포스터에서는 과적합 방지에 대한 3가지 방법을 기술 할 예정이다. train_test split : 데이터의 양이 많으나, 과적합이 발생한 경우 K-Fold : k개의 data fold set을 만들어 학습도중에 k번 만큼 학습과 평가를 병행 StratifiedKFold : 불균형한 분포(편향,왜곡)를 가진 레이블 데이터 집합을 위한 교차 검증 주로 K-Fold 교
kfold,stratifiedKFold
iris data 를 통하여 간단한 실습해보겠습니다. kfold #1 교차 검증 정확도 :0.875 , 학습데이터의 크기: 96,검증데이터의 크기: 24 #1 검증 세트 인덱스: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23] #2 교차 검증 정확도 :0.9583 , 학습데이터의 크기: 96,검증데이터의 크기: 24 #2 검증 세트 인덱스: [24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47] #3 교차 검증 정확도 :1.0 , 학습데이터의 크기: 96,검증데이터의 크기: 24 #3 검증 세트 인덱스: [48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71] #4 교차 검증 정확도 :0.9583 , 학습데이터의 크기: 96,검증데이터의

[혼공머신] 5-2. 교차 검증과 그리드 서치
Intro. 결정트리 모델로 와인 구분하는 모델 완성! max_depth 바꿔가면서 성능 테스트 여러 번 해서 최적의 모델을 찾아야지 ㅎㅎ 그런데... 이사님🗣️ "최적의 모델을 찾는 건 좋은데, 그 과정에서 자꾸 테스트 세트로 평가를 하면 테스트 세트에만 잘 맞는 모델이 되어버리는 거 아닌가요?" ㅇ ㅠㅇ 1. 검증세트와 교차검증 해결책은 생각보다 간단했다. 테스트세트 말고, 따로 검증용 세트를 또 준비하면 된다! 검증세트 원래는 훈련/테스트만 나눴지만, 이젠 훈련/검증/테스트 3개로 나눔. (보통 20%) ☝🏻일반적인 활용 과정 1) 모델을 훈련세트로 훈련(fit)하고, 검증세트로 평가(score)한다 2) 매개변수 바꿔가며 scor
파이썬 머신러닝 교차검증 - KFold, StratifiedKFold, cross_val_score, GridSearchCV
* 과적합 * 과적합 : 모델이 학습 데이터에만 과도하게 최적화되어, 실제 예측을 다른 데이터로 수행할 경우에는 예측 성능이 과도하게 떨어지는것을 말한다. 이번 블로그는 과적합을 방지할 수 있는 교차검증 에 대해 얘기하려합니다. * 교차검증 * 교차검증 : 데이터 편중을 막기 위해서 별도의 세트로 구성된 학습 데이터 세트와 검증 데이터 세트에서 학습과 평가를 수행하는 것입니다. 대부분의 ML 모델의 성능 평가는 교차 검증 기반으로 1차 평가를 한 뒤에 최종적으로 테스트 데이터 세트에 적용해 평가하는 프로세스 입니다. 1. KFold 가장 보편적으로 사용되는 교차 검증 기법 먼저 K개의 데이터 폴드 세트를 만들어서 K번만큼 각 폴드 세트에 학습고 검증 평가를 1반복적으로 수행하는 방법 ![KFold image](https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=h