본문 바로가기

BLOG/머신러닝

[머신러닝] train_test_split : 순차적으로/무작위로 데이터 나누는 방법

train_test_split 함수는 데이터를 학습데이터의 입력값, 결과값과 테스트 데이터의 입력값, 결과값으로 데이터를 나눠주는 함수인데요, 설정을 통해 순차적으로 데이터를 나눌지, 무작위로 데이터를 나눌지 선택할 수 있답니다. 설정하는 방법은 매우 간단한데요, 아래 코드를 보면서 살펴보도록 하겠습니다.

 

 

- train_test_split : 순차적으로/무작위로 데이터 나누기

train_test_split 함수에서 데이터를 무작위로 나눌지, 순차적으로 나눌지에 대해선 'shuffle'을 통해 설정할 수 있는데요, train_test_split 함수에서 shuffle은 기본값으로 shuffle = True 로 설정되어 있기 때문에, 따로 코드를 입력해주지 않아도 무작위로 나누어집니다.

 

하지만 만약 데이터를 순차적으로 나누고 싶다면 shuffle = False 로 입력해야 합니다.

 

아래 코드는 무작위 또는 순차적으로 데이터를 나누는 코드로 참고하시기 바랍니다. (x = 입력값 데이터, y = 결과값 데이터)

 

x_train, x_test, y_train, y_test = train_test_split(x, y, shuffle = True, random_state = 0) #shuffle = True 생략 가능
x_train, x_test, y_train, y_test = train_test_split(x, y, shuffle = False)

 

이와 같이 입력하면 전체 데이터에서 순차적으로 train data와 test data로 나눠졌음을 확인할 수 있답니다.