ShuffleSplit
- classsklearn.model_selection.ShuffleSplit(n_splits=10, *, test_size=None, train_size=None, random_state=None)[исходный код]
-
Кросс-валидатор со случайной перестановкой.
Возвращает индексы для разделения данных на обучающую и тестовую выборки.
Примечание: в отличие от других стратегий кросс-валидации, случайные разбиения не гарантируют, что тестовые выборки во всех фолдах будут взаимно исключающими, и могут содержать пересекающиеся образцы. Однако для достаточно больших наборов данных это всё же маловероятно.
Подробнее см. в руководстве пользователя.
Визуализацию поведения кросс-валидации и сравнение распространённых методов разделения scikit-learn см. в разделе Визуализация поведения кросс-валидации в scikit-learn
- Параметры:
-
- n_splitsint, default=10
-
Количество итераций перемешивания и разбиения.
- test_sizefloat or int, default=None
-
Если задано значение float, оно должно находиться в диапазоне от 0.0 до 1.0 и обозначать долю набора данных, включаемую в тестовую выборку. Если задано значение int, оно обозначает абсолютное количество тестовых образцов. Если задано None, значение определяется как дополнение до размера обучающей выборки. Если
train_sizeтакже равно None, будет установлено значение 0.1. - train_sizefloat or int, default=None
-
Если задано значение float, оно должно находиться в диапазоне от 0.0 до 1.0 и обозначать долю набора данных, включаемую в обучающую выборку. Если задано значение int, оно обозначает абсолютное количество обучающих образцов. Если задано None, значение автоматически определяется как дополнение до размера тестовой выборки.
- random_stateint, RandomState instance or None, default=None
-
Определяет случайность формируемых индексов обучающих и тестовых выборок. Передайте int, чтобы получать воспроизводимый результат при нескольких вызовах функции. См. глоссарий.
Примеры
>>> import numpy as np >>> from sklearn.model_selection import ShuffleSplit >>> X = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [3, 4], [5, 6]]) >>> y = np.array([1, 2, 1, 2, 1, 2]) >>> rs = ShuffleSplit(n_splits=5, test_size=.25, random_state=0) >>> rs.get_n_splits() 5 >>> print(rs) ShuffleSplit(n_splits=5, random_state=0, test_size=0.25, train_size=None) >>> for i, (train_index, test_index) in enumerate(rs.split(X)): ... print(f"Fold {i}:") ... print(f" Train: index={train_index}") ... print(f" Test: index={test_index}") Fold 0: Train: index=[1 3 0 4] Test: index=[5 2] Fold 1: Train: index=[4 0 2 5] Test: index=[1 3] Fold 2: Train: index=[1 2 4 0] Test: index=[3 5] Fold 3: Train: index=[3 4 1 0] Test: index=[5 2] Fold 4: Train: index=[3 5 1 0] Test: index=[2 4] >>> # Specify train and test size >>> rs = ShuffleSplit(n_splits=5, train_size=0.5, test_size=.25, ... random_state=0) >>> for i, (train_index, test_index) in enumerate(rs.split(X)): ... print(f"Fold {i}:") ... print(f" Train: index={train_index}") ... print(f" Test: index={test_index}") Fold 0: Train: index=[1 3 0] Test: index=[5 2] Fold 1: Train: index=[4 0 2] Test: index=[1 3] Fold 2: Train: index=[1 2 4] Test: index=[3 5] Fold 3: Train: index=[3 4 1] Test: index=[5 2] Fold 4: Train: index=[3 5 1] Test: index=[2 4]- get_metadata_routing()[исходный код]
-
Получить маршрутизацию метаданных этого объекта.
О том, как работает механизм маршрутизации, см. в руководстве пользователя.
- Возвращает:
-
- routingMetadataRequest
-
MetadataRequest, содержащий информацию о маршрутизации.
- get_n_splits(X=None, y=None, groups=None)[исходный код]
-
Возвращает количество итераций разбиения, заданное параметром
n_splitsпри создании кросс-валидатора.- Параметры:
-
- Xarray-like of shape (n_samples, n_features), default=None
-
Всегда игнорируется; параметр существует для совместимости с API.
- yarray-like of shape (n_samples,), default=None
-
Всегда игнорируется; параметр существует для совместимости с API.
- groupsarray-like of shape (n_samples,), default=None
-
Всегда игнорируется; параметр существует для совместимости с API.
- Возвращает:
-
- n_splitsint
-
Возвращает количество итераций разбиения в кросс-валидаторе.
- split(X, y=None, groups=None)[исходный код]
-
Создать индексы для разделения данных на обучающую и тестовую выборки.
- Параметры:
-
- Xarray-like of shape (n_samples, n_features)
-
Обучающие данные, где
n_samples— количество образцов, аn_features— количество признаков. - yarray-like of shape (n_samples,), default=None
-
Целевая переменная для задач обучения с учителем.
- groupsarray-like of shape (n_samples,), default=None
-
Всегда игнорируется; параметр существует для совместимости с API.
- Возвращает:
-
- trainndarray
-
Индексы обучающей выборки для этого разбиения.
- testndarray
-
Индексы тестовой выборки для этого разбиения.
Примеры в галерее
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.model_selection.ShuffleSplit.html