강의

멘토링

커뮤니티

Inflearn Community Q&A

kjh9502134603's profile image
kjh9502134603

asked

[Revised Edition] The Complete Guide to Python Machine Learning

Introducing the Stacking Model - Basic Stacking

교수님 안녕하세요~

Written on

·

250

1

1. Test 데이터로 하면 왜 overfitting인지 궁금합니다.

2. 학습을 시키거나 예측을 할 때 X_trian이나 y_train,y_test, pred등의 형태가 정해져있나요?

예를들어 데이터세트가 4*4행렬이라면 feature는 4*3, target은 4*1인데 학습하고 예측할 때 어떤 행렬의 모습을 가지고 들어가야하는지 궁금합니다.

python머신러닝 배워볼래요? 통계

Answer 1

0

dooleyz3525님의 프로필 이미지
dooleyz3525
Instructor

안녕하십니까,

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차원 행렬이 반환됩니다.

감사합니다. 

kjh9502134603's profile image
kjh9502134603

asked

Ask a question