x와 y로 분리된 데이터에 대해 테스트 데이터를 분리할 수 있어야 한다.



사이킷런으로 분리


import numpy as np
from sklearn.model_selection import train_test_split
 
X, y = np.arange(10).reshape((52)), 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
손가락귀신
정신 못차리면, 벌 받는다.

,