x와 y로 분리된 데이터에 대해 테스트 데이터를 분리할 수 있어야 한다.
사이킷런으로 분리
import numpy as np from sklearn.model_selection import train_test_split X, y = np.arange(10).reshape((5, 2)), range(5) print(X) ''' [[0 1] [2 3] [4 5] [6 7] [8 9]] ''' print(list(y)) # [0, 1, 2, 3, 4] # test 데이터 비율을 20% 로 설정 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1234) print(X_test) # [[8 9]] print(y_test) # [4] | cs |
수동으로 분리
import numpy as np X, y = np.arange(0,24).reshape((12,2)), range(12) print(X) ''' [[ 0 1] [ 2 3] [ 4 5] [ 6 7] [ 8 9] [10 11] [12 13] [14 15] [16 17] [18 19] [20 21] [22 23]] ''' print(list(y)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] # test 데이터 비율을 20%로 설정 n_train = int(len(X) * 0.8) # 9 n_test = int(len(X) - n_train) # 3 # train 데이터와 test 데이터 모두를 퍼센트로 구분할 경우 데이터가 누락될 수 있으므로, # train 데이터나 test 데이터 중 하나만 선택하여 나머지와 함께 계산한다. # 아래 예는 n_train 을 선택 X_test = X[n_train:] y_test = y[n_train:] X_train = X[:n_train] y_train = y[:n_train] print(X_test) print(list(y_test)) ''' [[18 19] [20 21] [22 23]] [9, 10, 11] ''' | cs |
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,