Как разделить тренировочные и тестовые наборы? - PullRequest
0 голосов
/ 30 мая 2018

Где мы должны использовать

X_train,X_test,y_train,y_test= train_test_split(data, test_size=0.3, random_state=42)

и где мы должны использовать

train, test= train_test_split(data, test_size=0.3, random_state=0). 

Первый возвращает это:

Ошибка значения: недостаточнозначения для распаковки (ожидается 4, получено 2)

Ответы [ 3 ]

0 голосов
/ 30 мая 2018

train_test_split метод принимает столько массивов, сколько аргументов, сколько вам нужно.

Но, поскольку вам нужно четыре возвращаемых значения, вы должны передать 2 массивы как аргумент .

X_train, X_test, y_train, y_test= train_test_split(data, y_data, test_size=0.3, random_state=42)

Если вам нужнопередать много массивов, которые вы можете использовать расширенная итеративная распаковка оператор.

train_test_split(*arrays, test_size = test_size, random_state = 0)
0 голосов
/ 30 мая 2018

если у вас есть 1 список данных, он разделяется на 2,

                             |---data_train
data ----train_test_split()--|
                             |---data_test

, если у вас есть 2 списка данных, он разделяет EACH списка данных на 2, то есть 4всего.

                                       |---data_train_x
                                       |---data_train_y
data_x, data_y ----train_test_split()--|
                                       |---data_test_x
                                       |---data_test_y

То же, что и n список данных.

0 голосов
/ 30 мая 2018

Первая форма, которую вы используете, если хотите разделить экземпляры с помощью функций (X) и меток (y).Вторая форма, которую вы используете, если хотите разделить только элементы (X).

X_train, X_test, y_train, y_test= train_test_split(data, y, test_size=0.3, random_state=42)

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

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