처음 본 데이터에서 훈련된 모델 성능을 평가하기 위해 데이터셋을 훈련 데이터셋과 테스트 데이터셋으로 분할합니다. 6장에서 모델 평가와 관련된 모범 사례를 자세히 설명하겠습니다. 사이킷런 model_selection 모듈의 train_test_split 함수를 사용해서 X와 y 배열을 랜덤하게 나눕니다. 30%는 테스트 데이터(45개의 샘플), 70%는 훈련 데이터(105개의 샘플)가 됩니다.4
>>> from sklearn.model_selection import train_test_split
>>> X_train, X_test, y_train, y_test = train_test_split(
... X, y, test_size=0.3, random_state=1, stratify=y)
train_test_split 함수가 분할하기 전에 데이터셋을 미리 섞습니다. 그렇지 않으면 클래스 0과 클래스 1에 있는 샘플이 모두 훈련 데이터셋에 들어가고 테스트 데이터셋은 클래스 2의 샘플 45개 만으로 구성됩니다.5 데이터셋을 분할 전 무작위로 섞기 위해 사용되는 유사 난수 생성기에 random_state 매개변수로 고정된 랜덤 시드(random_state = 1)를 전달합니다. random_state를 고정하면 실행 결과를 재현할 수 있습니다.