머신러닝/NLP
데이터 분리
su0a
2024. 5. 14. 11:45
1. X, y 분리
(1) zip 함수를 이용
X, y = zip([['a', 1 ], ['b', 2 ], ['c', 3 ]])
# 리스트 변수명을 사용할 경우
data = [['a', 1 ], ['b', 2 ], ['c', 3 ]]
X, y = zip(*data)
(2) 데이터프레임 이용
values = [['hi' , 1 ], ['bye', 0 ], ['hello' , 1 ]]
columns = ['인사' , '종류' ]
df = pd.DataFrame(values, columns = columns)
(3) numpy 이용
np_array = np.arange(16).reshape((4,4))
#마지막 열은 y값으로 사용
X = np_array[:,:3]
y = np_array[:,3]
2. train , test 데이터 분리
(1) 사이킷런 이용
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= 0.2, random_state = 1234)
X: 독립 변수, y: 종속 변수, test_size: 테스트 데이터 비율, random_state: 난수 seed
(2) 수동 분리
X_train = X[:num_of_train]
X_test = X[num_of_train:]
y_train = y[:num_of_train]
y_test = y[num_of_train:]