Inflearn Community Q&A
교수님 안녕하세요~
Written on
·
250
1
1. Test 데이터로 하면 왜 overfitting인지 궁금합니다.
2. 학습을 시키거나 예측을 할 때 X_trian이나 y_train,y_test, pred등의 형태가 정해져있나요?
예를들어 데이터세트가 4*4행렬이라면 feature는 4*3, target은 4*1인데 학습하고 예측할 때 어떤 행렬의 모습을 가지고 들어가야하는지 궁금합니다.
Answer 1
0
안녕하십니까,
1. 잘 아시다시피 원래는 테스트 데이터를 학습시에 사용하게 되면 최종적으로 성능을 평가하는 테스트 데이트를 가지고 학습을 하는 것이기 때문에 오버피팅이 됩니다.(즉 수능 시험지/답안지를 가지고 모의고사시험을 보는것과 비슷합니다) 예를 들어 fit(피처 데이터세트, target 데이터 세트)인데 여기에 메타 모델 학습시, lr_final.fit(preds, y_test) 호출시 테스트 데이터를 사용했습니다 . 데이터 세트가 부족해서 설명을 위해서 부득이하게 사용했기 때문에 미리 overfitting이라고 말씀드렸습니다.
2. 정확히 질문을 이해하지는 못했습니다만,(아래 글이 원하시는 답변이 아니면 다시 말씀해 주십시요)
네, 학습/예측 시 array의 형태가 정해져있습니다. 데이터세트가 4*4행렬이라면 feature는 4*3, target은 4*1 라면 , 즉 데이터가 10건있고, feature 종류가 3개, 최종 target값이 있다고 한다면 X_train은 일반적으로 학습용 피처 데이터 세트이어서 데이터 10건 중에 학습 데이터용으로 7건을 할당한다고 가정한다면, X_train은 7(건) x 3(피처수) 행렬, y_train은 7(건), 1차원 행렬, X_test는 (전체 데이터 건수 - X_train 에 할당된 건수 )3 x 3(피처수) 행렬, y_test는 3(건), 1차원 행렬, preds는 X_test값이 입력되므로 3건, 1차원 행렬이 반환됩니다.
감사합니다.





