BLOG/머신러닝
[머신러닝] train_test_split : 비율 설정 방법 - test_size
알디노
2021. 3. 22. 11:29
이전 글에서는 train_test_split() 함수를 이용하여 데이터를 train data와 test data로 나눌 때, 무작위로 나눌지 순차적으로 나눌지 설정하는 방법에 대해 살펴보았는데요, 이번에는 train data와 test data로 나눌 때 비율을 지정해주는 방법에 대해서 살펴보도록 하겠습니다.
- train_test_split : 비율 설정 방법
train_test_split() 함수를 사용하여 데이터를 train data와 test data로 나눌 때, 기본값은 75 : 25 비율로 나누어지게 됩니다.
하지만, 데이터가 많이 없다면 학습할 데이터를 늘려주어야 하며, 데이터가 매우 많다면 오버피팅 문제를 방지하기 위해 학습할 데이터를 조금 줄여주는 게 좋을 수 있습니다.
따라서 각 상황에 따라 유동적으로 비율을 설정해주는게 좋은데요, 이는 train_test_split() 함수에서 test_size 의 값을 설정해줌으로써 지정할 수 있습니다. 만약 train data와 test data를 70 : 30 으로 지정하고 싶다면 아래와 같이 test data의 사이즈를 나타내는 test_size의 값을 test_size = 0.3 으로 지정해주면 됩니다.
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=0)
위 코드에서 x, y의 자리에 각각 입력값, 결과값 데이터를 넣어주면 되는데요, 위 코드를 입력하고 실행한 뒤
len(x_train), len(y_train)을 통해 각 데이터의 개수를 확인하면 70 : 30 비율로 나눠졌음을 확인할 수 있답니다.