교차검증(Cross Validation)
from sklearn.cross_validation import train_test_split Xtrain, Xtest, ytrain, ytest = train_test_split(X_df, y_df, random_state=1) 머신 러닝에서 데이터를 모델 학습용과, 테스트용으로 나누는 이유는 모델의 예측도를 높이기 위해서이다. 모델의 정확도 평가에 테스트 데이터를 사용하면, 모델이 테스트 데이터에도 "적합"하게 된다. 따라서, 모델이 새로운 데이터에 대해 어떻게 수행하는지 평가할 수 있는 기회를 잃게 된다. 이를 "data leakage"라고 한다. 이를 막기 위해 전체 데이터셋을 학습용 데이터(Train set), 검증용 데이터(CV set), 테스트 데이터(Test set) 세 가지 하위 집합으..