Необходим ли train_test_split для бинарной классификации? И почему есть 4 результата? - PullRequest
0 голосов
/ 26 мая 2019

Почему есть 4 результата для train_test_split в sklearn? Почему существует y_test, если данные тестирования не имеют y_data?

Ответы [ 3 ]

1 голос
/ 26 мая 2019

Причина, по которой вы получаете 4 результата, в том, что вы получаете: train_features, test_features, train_labels и test_labels (X_train, X_test, y_train, y_test).Таким образом, он не только разделяет набор данных на наборы поездов и тестов, но также и метки.(так 2 + 2 = 4 результата).

0 голосов
/ 04 июня 2019

потому что вы разделили свои исходные данные на части поезда и теста.поэтому будет четыре результата:

1 (X_train, Y_train), где X_train - это тренировочные точки, а Y_train - их соответствующие метки классов.Теперь это ваши тренировочные данные, которые будут использованы для обучения вашей модели любым классическим моделям, таким как K-NN, логистическая регрессия, Decision Tress.

2 (X_test, Y_test), где X_test представляет вашу точку тестовых данных, а y_trainявляются метками вашего класса для этих контрольных точек. Теперь, когда вы обучили свою модель и рассчитали свою ошибку / точность обучения, вы можете использовать эти точки, чтобы увидеть, правильно ли прогнозирует обученная модель данные. Чем меньше разница междуошибки в обучении и тестах, тем лучше.

Вот почему вы получаете 4 результата с парами по 2 в каждом.

Надеюсь, это поможет.

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

Изучив документацию , вы увидите, что первым параметром является *arrays, что означает, что вы можете поместить туда столько массивов, сколько захотите. Теперь, что это возвращает?

Returns:    splitting : list, length=2 * len(arrays)

Это означает, что он возвращает вдвое больше массивов, переданных в функции train_test_split.

Итак, если у вас уже есть обучающий и тестовый наборы, имеет смысл разделить обучающий набор, так что вы можете иметь проверочный набор для проверки производительности модели.

Например:.

train_data, validation_data, train_label, validation_label= train_test_split(original_train_data, original_train_label)

Обратите внимание, что вы также должны разделить метки, если у вас есть данные и метка в разделенных векторах.

...