앞의 장에서 무게와 길이를 특성
이라고 하였다.
해당 특성
을 통해 모델을 훈련시키고 테스트를 진행하였다.
이때 훈련을 시키는 샘플과 테스트를 진행하는 샘플의 데이터는 달라야한다.
이를 우리는 훈련 세트
와 테스트 세트
라고 한다.
from sklearn.model_selection import train_test_split
fish_data = np.column_stack((length,weight))
fish_target = np.concatenate((np.ones(35),np.zeros(14)))
train_input, test_input, train_target, test_target = \
train_test_split(fish_data, fish_target)
print(train_input)
데이터를 위와같이 train_test_split을 통해 줄 수 있다.
sklearn.model_selection.train_test_split(*arrays, test_size=None,
train_size=None, random_state=None, shuffle=True, stratify=None)[source]
위 메소드를 통해 두 개의 배열을 훈련세트와 테스트세트로 분류 할 수 있다.
test_size
테스트세트
의 사이즈를 결정한다train_size
훈련세트
의 사이즈를 결정한다random_state
shuffle
시seed
값을 결정한다shuffle
True
일시, 분할 전 데이터를 섞어준다.stratify
해당 배열을 참조하여 분류가 균등한 비율로 이루어지도록 한다.
위에서는훈련세트
와테스트세트
의 비율을 맞추기위해stratify=fish_target
을 이용 할 수 있다.
import matplotlib.pyplot as plt
plt.scatter(train_input[:,0], train_input[:,1])
plt.scatter(test_input[:,0], test_input[:,1])
plt.xlabel('length')
plt.ylabel('weight')
plt.show()
위처럼 테스트세트
와 훈련세트
가 나뉘어짐을 확인 가능하다.