이전 글에서는 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 비율로 나눠졌음을 확인할 수 있답니다.
'BLOG > 머신러닝' 카테고리의 다른 글
[머신러닝] 사이킷런(Scikit-learn) : 간단한 선형모델 만들기 & 가중치, 절편 구하기 (0) | 2021.03.22 |
---|---|
[머신러닝] 사이킷런(Scikit-learn) 데이터의 특성 / 클래스 별 데이터 개수 / 크기 확인하기 (0) | 2021.03.22 |
[머신러닝] train_test_split : 순차적으로/무작위로 데이터 나누는 방법 (0) | 2021.03.22 |
[머신러닝] 사이킷런(Scikit-learn) 데이터 train data와 test data로 나누는 방법 (0) | 2021.03.22 |
[머신러닝] 사이킷런(Scikit-learn) - iris(붓꽃) 데이터 불러와 데이터프레임으로 저장하기 (0) | 2021.03.22 |