Spec-Zone.ru › scikit-learn

кривая_валидации

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

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

Масштабирование параметра регуляризации для SVC

© 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

Spec-Zone.ru

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