Spec-Zone.ru › scikit-learn

train_test_split

sklearn.model_selection.train_test_split(*arrays, test_size=None, train_size=None, random_state=None, shuffle=True, stratify=None)[исходный код]

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

Удобная функция, которая объединяет проверку входных данных, next(ShuffleSplit().split(X, y)) и применение к входным данным в один вызов, позволяя разделить (и при необходимости уменьшить выборку) данные одной строкой кода.

Подробнее см. в руководстве пользователя.

Параметры:
*arraysпоследовательность индексируемых объектов одинаковой длины / shape[0]

Допустимые типы входных данных: списки, массивы numpy, разреженные матрицы scipy или таблицы данных pandas.

test_sizeвещественное число или целое число, по умолчанию=None

Если задано вещественное число, оно должно находиться в диапазоне от 0.0 до 1.0 и задавать долю набора данных, включаемую в тестовую выборку. Если задано целое число, оно задаёт абсолютное количество тестовых образцов. Если значение равно None, оно устанавливается равным дополнению до размера обучающей выборки. Если train_size также равно None, будет установлено значение 0.25.

train_sizeвещественное число или целое число, по умолчанию=None

Если задано вещественное число, оно должно находиться в диапазоне от 0.0 до 1.0 и задавать долю набора данных, включаемую в обучающую выборку. Если задано целое число, оно задаёт абсолютное количество обучающих образцов. Если значение равно None, оно автоматически устанавливается равным дополнению до размера тестовой выборки.

random_stateцелое число, экземпляр RandomState или None, по умолчанию=None

Управляет перемешиванием данных перед их разделением. Передайте целое число, чтобы получать воспроизводимый результат при нескольких вызовах функции. См. глоссарий.

shufflebool, по умолчанию=True

Определяет, следует ли перемешивать данные перед разделением. Если shuffle=False, то stratify должно быть равно None.

stratifyобъект, подобный массиву, по умолчанию=None

Если значение не равно None, данные разделяются стратифицированным способом, а этот параметр используется в качестве меток классов. Подробнее см. в руководстве пользователя.

Возвращает:
splittingсписок, длина=2 * len(arrays)

Список, содержащий разделённые на обучающую и тестовую выборки входные данные.

Добавлено в версии 0.16: Если входные данные разреженные, результатом будет scipy.sparse.csr_matrix. В противном случае тип результата совпадает с типом входных данных.

Примеры

>>> import numpy as np
>>> from sklearn.model_selection import train_test_split
>>> X, y = np.arange(10).reshape((5, 2)), range(5)
>>> X
array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7],
       [8, 9]])
>>> list(y)
[0, 1, 2, 3, 4]
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, test_size=0.33, random_state=42)
...
>>> X_train
array([[4, 5],
       [0, 1],
       [6, 7]])
>>> y_train
[2, 0, 3]
>>> X_test
array([[2, 3],
       [8, 9]])
>>> y_test
[1, 4]
>>> train_test_split(y, shuffle=False)
[[0, 1, 2], [3, 4]]
>>> from sklearn import datasets
>>> iris = datasets.load_iris(as_frame=True)
>>> X, y = iris['data'], iris['target']
>>> X.head()
    sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)
0                5.1               3.5                1.4               0.2
1                4.9               3.0                1.4               0.2
2                4.7               3.2                1.3               0.2
3                4.6               3.1                1.5               0.2
4                5.0               3.6                1.4               0.2
>>> y.head()
0    0
1    0
2    0
3    0
4    0
...
>>> X_train, X_test, y_train, y_test = train_test_split(
... X, y, test_size=0.33, random_state=42)
...
>>> X_train.head()
    sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)
96                 5.7               2.9                4.2               1.3
105                7.6               3.0                6.6               2.1
66                 5.6               3.0                4.5               1.5
0                  5.1               3.5                1.4               0.2
122                7.7               2.8                6.7               2.0
>>> y_train.head()
96     1
105    2
66     1
0      0
122    2
...
>>> X_test.head()
    sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)
73                 6.1               2.8                4.7               1.2
18                 5.7               3.8                1.7               0.3
118                7.7               2.6                6.9               2.3
78                 6.0               2.9                4.5               1.5
76                 6.8               2.8                4.8               1.4
>>> y_test.head()
73     1
18     0
118    2
78     1
76     1
...

Примеры из галереи

Удаление шума с изображений с помощью ядерного PCA

Пример распознавания лиц с помощью собственных лиц и SVM

Влияние сложности модели

Задержка предсказаний

Запаздывающие признаки для прогнозирования временных рядов

Калибровка вероятностей классификаторов

Кривые калибровки вероятностей

Сравнение калибровки классификаторов

Визуализация вероятности классификации

Сравнение классификаторов

Распознавание рукописных цифр

Преобразователь столбцов для данных смешанных типов

Влияние преобразования целевых значений в модели регрессии

Сравнение методов кросс-декомпозиции

Регрессия главных компонент и регрессия методом частичных наименьших квадратов

Ядерный PCA

Деревья решений AdaBoost для нескольких классов

Преобразование признаков с помощью ансамблей деревьев

Важность признаков в ансамбле деревьев

Ранняя остановка при градиентном бустинге

Оценки градиентного бустинга по наблюдениям вне пакета

Интервалы предсказания для регрессии с градиентным бустингом

Регрессия с градиентным бустингом

Регуляризация градиентного бустинга

Признаки в деревьях с гистограммным градиентным бустингом

Пример IsolationForest

Сравнение случайных лесов и метаоценщика для нескольких выходов

Одномерный отбор признаков

Конвейер ANOVA SVM

Примеры использования FrozenEstimator

Неспособность машинного обучения выявлять причинно-следственные эффекты

Распространенные ошибки при интерпретации коэффициентов линейных моделей

Перестановочная важность и важность признаков в случайном лесу (MDI)

Перестановочная важность при мультиколлинеарных или коррелирующих признаках

Масштабируемое обучение с аппроксимацией полиномиального ядра

Модели на основе L1 для разреженных сигналов

Метод наименьших квадратов с неотрицательными коэффициентами

Обычный метод наименьших квадратов и гребневая регрессия

Регрессия Пуассона и ненормальная функция потерь

Ранняя остановка стохастического градиентного спуска

Разреженная многоклассовая логистическая регрессия на наборе 20newgroups

Классификация MNIST с помощью мультиномиальной логистической регрессии и L1-регуляризации

Регрессия Твиди для страховых требований

Визуализация с помощью объектов отображения

Оценка оценщиков для обнаружения выбросов

ROC-кривая с API визуализации

Знакомство с API set_output

Оценка качества классификатора с помощью матрицы ошибок

Настройка порога принятия решения для обучения с учетом стоимости

Кривая компромисса между обнаружением и ошибкой (DET)

Пользовательская стратегия переобучения модели при поиске по сетке с кросс-валидацией

Отношения правдоподобия классов для оценки качества классификации

Точность-полнота

Многоклассовая характеристика рабочей точки приемника (ROC)

Влияние регуляризации модели на ошибку обучения и тестирования

Многометочная классификация с использованием цепочки классификаторов

Классификация методом ближайших соседей

Сравнение метода ближайших соседей с анализом компонентов окрестностей и без него

Снижение размерности с помощью анализа компонентов окрестностей

Изменение регуляризации в многослойном перцептроне

Визуализация весов MLP на MNIST

Признаки ограниченной машины Больцмана для классификации цифр

Дискретизация признаков

Преобразование данных к нормальному распределению

Важность масштабирования признаков

Внутреннее перекрёстное обучение TargetEncoder

Основные нововведения scikit-learn 0.22

Основные нововведения scikit-learn 0.23

Основные нововведения scikit-learn 0.24

Основные нововведения scikit-learn 1.4

Основные нововведения scikit-learn 1.5

Основные нововведения scikit-learn 1.7

Классификация текста с частичным привлечением учителя

Построение деревьев решений с обрезкой с учётом сложности модели

Понимание структуры дерева решений

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.model_selection.train_test_split.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API