Что следует передать в качестве входного параметра при использовании функции train-test-split в Python 3.6 дважды - PullRequest
0 голосов
/ 12 мая 2019

В основном я хотел разделить свой набор данных на наборы для обучения, тестирования и проверки.Поэтому я использовал функцию train_test_split дважды.У меня есть набор данных около 10 миллионов строк.

В первом разделе я разделил набор данных обучения и тестирования на 70 миллионов обучения и 30 миллионов тестирования.Теперь, чтобы получить набор для проверки, я немного сбит с толку, использовать ли разделенные данные тестирования или данные обучения в качестве входного параметра train-test-split для получения набора проверки.Дайте совет.TIA

X = features 
y = target 

# dividing X, y into train and test and validation data 70% training dataset with 15% testing and 15% validation set 

from sklearn.model_selection import train_test_split 

#features and label splitted into 70-30 
X_train, X_test, y_train, y_test = train_test_split(X, y,  test_size = 0.3, random_state = 0) 

#furthermore test data is splitted into test and validation set 15-15
x_test, x_val, y_test, y_val = train_test_split(X_test, y_test, test_size=0.5)

1 Ответ

0 голосов
/ 12 мая 2019

Не делайте тестовый набор слишком маленьким.20% тестовый набор данных в порядке.Было бы лучше, если бы вы разделили ваш тренировочный набор данных на обучение и валидацию (80% / 20% - это справедливое разделение).Учитывая это, вы должны изменить свой код следующим образом:

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


x_test, x_val, y_test, y_val = train_test_split(X_train, y_train, test_size=0.25)

This is a common practice to split it like this

Это обычная практика для разделения набора данных, подобного этому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...