BLOG
인공지능

데이터 전처리: 훈련 셋과 테스트 셋 나누기


March 17, 2022, 11:51 p.m.



데이터의 전처리가 끝났다면 데이터를 훈련용 데이터와 테스트용 데이터로 나누어야 합니다.

그래야 훈련용 데이터로 훈련하고 테스트용 데이터로 그 모델의 성능을 검증할 수 있기 때문이죠.

사이킷런의 train_test_split으로 쉽게 나눌 수 있습니다.

먼제 데이터를 불러옵니다.

data = pd.read_csv('/content/drive/MyDrive/Kaggle/영화관객수/movies_train.csv')
X = data.drop(['box_off_num'],axis=1)
y = data['box_off_num']
X.shape
y.shape
(600, 11)
(600,)

shape로 확인해 보니 11개의 특성을 가진 600개의 열로 이루어진 데이터라는 것을 알 수 있네요.

훈련셋과 테스트셋을 분리해 보겠습니다.

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3, random_state = 0)

test_size에 0.3을 넣어 주었습니다. 즉 테스트셋의 비율을 30%로 하겠다는 뜻입니다. 훈련 데이터의 양이 많을 수록 이 값을 줄여도 충분합니다.

X_train.shape
X_test.shape
y_train.shape
y_test.shape
(420, 11)
(180, 11)
(420,)
(180,)

shape로 확인해보니 420:180으로 잘 나누어 진 모습을 볼 수 있네요!

사이킷런 scikit-learn



Search