샘플은 1, 2, 3 세 개의 클래스 중 하나에 속해 있습니다. 이탈리아의 동일 지역에서 자랐지만 세 종류의 다른 와인 포도 품종을 의미합니다. 자세한 내용은 데이터셋 설명을 참고하세요(https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.names).
사이킷런의 model_selection 모듈에 있는 train_test_split 함수를 사용하면 가장 간편하게 데이터셋을 랜덤한 훈련 데이터셋과 테스트 데이터셋으로 나눌 수 있습니다.
>>> from sklearn.model_selection import train_test_split
>>> X, y = df_wine.iloc[:, 1:].values, df_wine.iloc[:, 0].values
>>> X_train, X_test, y_train, y_test =\
... train_test_split(X, y,
... test_size=0.3,
... random_state=0,
... stratify=y)
먼저 인덱스 1에서 인덱스 13까지 특성을 넘파이 배열로 변환하여 X 변수에 할당합니다. 첫 번째 열의 클래스 레이블은 y 변수에 할당합니다. 그다음 train_test_split 함수를 사용하여 X와 y를 랜덤하게 훈련 데이터셋과 테스트 데이터셋으로 분할합니다.