Python/others
[ Python ] 교차 검증 (Cross Validation) - sklearn.Kfold
바이오 대표
2022. 2. 15. 12:08
교차 검증 (Cross Validation)
Machine Learning 모델을 학습시킬때, Train / Test set 으로 나누어 학습 및 성능 확인을 하는데 이때 너무 하나의 Train set 에 초점을 맞춰 과적합 (Overfitting) 을 불러 일으킬 수 있다. 이를 방지하기 위해 교차 검증 (Cross Validation) 을 사용할 수 있다. 이는 Train set 를 바꿔가며 훈련시켜 평균을 내어 과적합을 막을 수 있다.
아래 그림은 가장 기본적인 K-fold Cross validation 방법을 그림으로 묘사하였다.
예시 )
# X & y 를 KFold(n_split = ) 를 이용하여 Train/Test set 로 나눠 보겠다
여기서 Train: [2 3 4 5 6 7] Test: [0 1] 은 X의 index 이다
X:
[[ 0 1] # x[0]
[ 2 3] # x[1]
[ 4 5] # x[2]
[ 6 7] # x[3]
[ 8 9] # x[4]
[10 11] # x[5]
[12 13] # x[6]
[14 15]] # x[7]