해결된 질문
작성
·
42
0
안녕하세요 선생님 머린이 질문드립니다 ㅠ
k-fold 검증하는거에 대해 궁금한게 있습니다
X_train, X_val, y_train, y_test = train_test_split(x,y,test_size= 0.3) 으로 햇을 때
만약 100개 데이터가 있으면 30개 데이터를 가지고
질문1) fit -> x_train, y_train : 30개 데이터를 가지고
훈련한다. )
70개 데이터에 대해
pred : x_val 후 -> accuracy (y_val, pred) 맞춰본다
(모의고사를 푼다)
-> 이제 fit한 데이터를 가지고 실제 수능을 푼다
(real test data)
가 맞을까요 ??
질문2) 이게 맞다면 k-폴드 교차검증은 (k=5일떄)
fit 활동 -> 30개 데이터 셋 fit을 5번 수행 실시 후
70개의 pred : x_val 활동을 한다
가 맞을까요 ? '^',,
답변 1
0
안녕하십니까,
1, 2번을 함께 말씀드리겠습니다.
먼저 train_test_split()에서 test_size가 0.3 이므로 X_train, y_train이 각각 70개, x_test, y_test가 각각 30개 입니다.
그래서 70개의 데이터로 학습합니다. 그 뒤 30개의 데이터로 실제 성능 테스트를 합니다.
K-Fold와 같은 교차 검증은 보통 학습 데이터를 이용합니다. 학습 데이타가 70개라면 k=5 일 경우 56개를 학습 데이터, 14개를 검증 데이터(테스트 데이터가 아닙니다)로 다시 쪼개서 학습과 검증을 5번씩 교차하면서 수행합니다. 이렇게 해서 교차 검증이 완료된 모델을 이용해서 다시 테스트 데이터 30개로 최종 성능 테스트를 합니다.
감사합니다.