кривая_валидации
- sklearn.model_selection.validation_curve(estimator, X, y, *, param_name, param_range, groups=None, cv=None, scoring=None, n_jobs=None, pre_dispatch='all', verbose=0, error_score=nan, fit_params=None, params=None)[source]
-
Кривая валидации.
Определение значений обучающей и тестовой оценок для различных значений параметра.
Вычисляет оценки для оценщика с различными значениями указанного параметра. Это аналогично поиску по сетке с одним параметром. Однако это также вычисляет оценки обучения и просто служит инструментом для построения результатов.
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- estimatorтип объекта, реализующего метод “fit”
-
Объект этого типа, который клонируется для каждой валидации. Он также должен реализовывать “predict”, если
scoring— это вызываемый объект, не опирающийся на “predict” для вычисления оценки. - X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Вектор обучения, где
n_samples— количество выборок, аn_features— количество признаков. - yarray-like формы (n_samples,) или (n_samples, n_outputs) или None
-
Цель, относящаяся к X для классификации или регрессии; None для обучения без учителя.
- param_namestr
-
Имя параметра, который будет варьироваться.
- param_rangearray-like формы (n_values,)
-
Значения параметра, которые будут оцениваться.
- groupsarray-like формы (n_samples,), по умолчанию=None
-
Метки групп для выборок, используемых при разделении набора данных на обучающую и тестовую выборки. Используется только в сочетании с экземпляром “Group” cv (например,
GroupKFold).Изменено в версии 1.6:
groupsможет быть передан только в том случае, если маршрутизация метаданных не включена черезsklearn.set_config(enable_metadata_routing=True). При включенной маршрутизации передайтеgroupsвместе с другими метаданными через аргументparams. Например:validation_curve(..., params={'groups': groups}). - cvint, генератор перекрестной проверки или итерируемый объект, по умолчанию=None
-
Определяет стратегию разделения перекрестной проверки. Возможные входные данные для cv:
- None, для использования стандартной 5-кратной перекрестной проверки,
- int, для указания количества складок в
(Stratified)KFold, - разделитель перекрестной проверки,
- Итерируемый объект, возвращающий разделения (обучение, тест) как массивы индексов.
Для входных данных типа int/None, если оценщик является классификатором и
yявляется бинарным или многоклассовым, используетсяStratifiedKFold. Во всех остальных случаях используетсяKFold. Эти разделители инициализируютсяshuffle=False, поэтому разделения будут одинаковыми при разных вызовах.См. Руководство пользователя для различных стратегий перекрестной проверки, которые можно использовать здесь.
Изменено в версии 0.22:
cvзначение по умолчанию, если None, изменено с 3-кратной на 5-кратную. - scoringstr или вызываемый объект, по умолчанию=None
-
Строка (см. Параметр scoring: определение правил оценки модели) или вызываемый объект/функция с сигнатурой
scorer(estimator, X, y). - n_jobsint, по умолчанию=None
-
Количество задач для параллельного выполнения. Обучение оценщика и вычисление оценки параллелизуются по комбинациям каждого значения параметра и каждого разбиения перекрестной проверки.
Noneозначает 1, за исключением контекстаjoblib.parallel_backend.-1означает использование всех процессоров. См. Словарь для получения дополнительных сведений. - pre_dispatchint или str, по умолчанию='all'
-
Количество предварительно запущенных задач для параллельного выполнения (по умолчанию все). Опция может уменьшить выделенную память. Строка может быть выражением, например, '2*n_jobs'.
- verboseint, по умолчанию=0
-
Управляет уровнем подробности сообщений: чем выше, тем больше сообщений.
- error_score‘raise’ или числовое значение, по умолчанию=np.nan
-
Значение, которое нужно назначить оценке, если произойдет ошибка при подгонке оценщика. Если значение установлено в ‘raise’, ошибка поднимается. Если задано числовое значение, поднимается предупреждение FitFailedWarning.
Добавлен в версии 0.20.
- fit_paramsdict, по умолчанию=None
-
Параметры, которые нужно передать методу fit оценщика.
Устарело начиная с версии 1.6: Этот параметр устарел и будет удален в версии 1.8. Используйте
paramsвместо этого. - paramsdict, по умолчанию=None
-
Параметры для передачи оценщику, объекту scoring и объекту перекрестной проверки.
- Если
enable_metadata_routing=False(по умолчанию): параметры напрямую передаются методуfitоценщика. - Если
enable_metadata_routing=True: параметры безопасно передаются методуfitоценщика, объекту scoring и объекту перекрестной проверки. Подробнее см. Руководство пользователя по маршрутизации метаданных.
Добавлен в версии 1.6.
- Если
- Возвращаемые значения:
-
- train_scoresмассив формы (n_ticks, n_cv_folds)
-
Оценки на обучающих выборках.
- test_scoresмассив формы (n_ticks, n_cv_folds)
-
Оценки на тестовых выборках.
Примечания
См. Влияние регуляризации модели на ошибку обучения и тестирования
Примеры
>>> import numpy as np >>> from sklearn.datasets import make_classification >>> from sklearn.model_selection import validation_curve >>> from sklearn.linear_model import LogisticRegression >>> X, y = make_classification(n_samples=1_000, random_state=0) >>> logistic_regression = LogisticRegression() >>> param_name, param_range = "C", np.logspace(-8, 3, 10) >>> train_scores, test_scores = validation_curve( ... logistic_regression, X, y, param_name=param_name, param_range=param_range ... ) >>> print(f"The average train accuracy is {train_scores.mean():.2f}") The average train accuracy is 0.81 >>> print(f"The average test accuracy is {test_scores.mean():.2f}") The average test accuracy is 0.81
Примеры из галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.model_selection.validation_curve.html