Spec-Zone.ru › scikit-learn

Кривая валидации

классsklearn.model_selection.ValidationCurveDisplay(*, param_name, param_range, train_scores, test_scores, score_name=None)[источник]

Визуализация кривой валидации.

Рекомендуется использовать from_estimator для создания экземпляра ValidationCurveDisplay. Все параметры хранятся в качестве атрибутов.

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

Добавлен в версии 1.3.

Параметры:
param_namestr

Имя параметра, который изменялся.

param_rangearray-like формы (n_ticks,)

Значения параметра, которые оценивались.

train_scoresмассив формы (n_ticks, n_cv_folds)

Оценки на обучающих наборах.

test_scoresмассив формы (n_ticks, n_cv_folds)

Оценки на тестовых наборах.

score_namestr, по умолчанию=None

Имя метрики, используемой в validation_curve. Оно переопределит имя, полученное из scoring параметра. Если score равно None, мы используем "Score", если negate_score равно False, и "Negative score" в противном случае. Если scoring является строкой или вызываемой функцией, мы определяем имя. Мы заменяем _ пробелами и делаем первую букву заглавной. Мы удаляем neg_ и заменяем его на "Negative", если negate_score равно False, или просто удаляем его в противном случае.

Атрибуты:
ax_matplotlib Axes

Оси с кривой валидации.

figure_matplotlib Figure

Рисунок, содержащий кривую валидации.

errorbar_список matplotlib Artist или None

Если std_display_style равно "errorbar", это список matplotlib.container.ErrorbarContainer объектов. Если используется другой стиль, errorbar_ равно None.

lines_список matplotlib Artist или None

Если std_display_style равно "fill_between", это список matplotlib.lines.Line2D объектов, соответствующих средним значениям обучающих и тестовых оценок. Если используется другой стиль, line_ равно None.

fill_between_список matplotlib Artist или None

Если std_display_style равно "fill_between", это список matplotlib.collections.PolyCollection объектов. Если используется другой стиль, fill_between_ равно None.

См. также

sklearn.model_selection.validation_curve

Вычисление кривой валидации.

Примеры

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.model_selection import ValidationCurveDisplay, 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
... )
>>> display = ValidationCurveDisplay(
...     param_name=param_name, param_range=param_range,
...     train_scores=train_scores, test_scores=test_scores, score_name="Score"
... )
>>> display.plot()
<...>
>>> plt.show()
../../_images/sklearn-model_selection-ValidationCurveDisplay-1.png
classmethodfrom_estimator(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, ax=None, negate_score=False, score_name=None, score_type='both', std_display_style='fill_between', line_kw=None, fill_between_kw=None, errorbar_kw=None)[source]

Создать диаграмму кривой валидации из оценочной функции.

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

Параметры:
estimatorобъект типа, реализующий методы “fit” и “predict”

Объект этого типа, который клонируется для каждой валидации.

Xмассивоподобный объект формы (n_samples, n_features)

Данные обучения, где n_samples — это количество выборок, а n_features — количество признаков.

yмассивоподобный объект формы (n_samples,) или (n_samples, n_outputs) или None

Целевая переменная относительно X для классификации или регрессии; None для неконтролируемого обучения.

param_namestr

Имя параметра, который будет изменяться.

param_rangeмассивоподобный объект формы (n_values,)

Значения параметра, которые будут оценены.

groupsмассивоподобный объект формы (n_samples,), default=None

Метки групп для выборок, используемых при разделении набора данных на обучающий/тестовый набор. Используется только в сочетании с экземпляром «Группа» cv (например, GroupKFold).

cvint, генератор перекрестной проверки или итерируемый объект, default=None

Определяет стратегию разделения перекрестной проверки. Возможные значения для cv:

  • None, для использования перекрестной проверки по умолчанию с 5 разбиениями,
  • int, для указания количества разбиений в (Stratified)KFold,
  • разделитель CV,
  • Итерируемый объект, возвращающий разбиения (train, test) в виде массивов индексов.

Для целых чисел/None, если оценочная функция является классификатором и y является бинарным или многоклассовым, используется StratifiedKFold. Во всех остальных случаях используется KFold. Эти разделители создаются с помощью shuffle=False, поэтому разбиения будут одинаковыми при всех вызовах.

См. Руководство пользователя для ознакомления с различными стратегиями перекрестной проверки, которые могут быть использованы здесь.

scoringstr или вызываемый объект, default=None

Строка (см. Параметр scoring: определение правил оценки модели) или вызываемый объект/функция оценщика с сигнатурой scorer(estimator, X, y) (см. Вызываемые оценщики).

n_jobsint, default=None

Количество заданий для параллельного выполнения. Обучение оценочной функции и вычисление оценки распараллеливаются по различным обучающим и тестовым наборам. None означает 1, если не находится в контексте joblib.parallel_backend. -1 означает использование всех процессоров. См. Глоссарий для получения более подробной информации.

pre_dispatchint или str, default=’all’

Количество предварительно отправленных заданий для параллельного выполнения (по умолчанию все). Эта опция может уменьшить выделенную память. Строка может быть выражением, например, ‘2*n_jobs’.

verboseint, default=0

Управляет многословностью: чем выше значение, тем больше сообщений.

error_score‘raise’ или числовое значение, default=np.nan

Значение, которое нужно присвоить оценке, если при подгонке оценочной функции возникает ошибка. Если установлено значение ‘raise’, ошибка будет вызвана. Если задано числовое значение, выводится FitFailedWarning.

fit_paramsdict, default=None

Параметры для передачи методу fit оценочной функции.

axmatplotlib Axes, default=None

Объект Axes для построения графика. Если None, создается новый рисунок и оси.

negate_scorebool, default=False

Следует ли инвертировать оценки, полученные с помощью validation_curve. Это особенно полезно при использовании ошибки, обозначенной как neg_* в scikit-learn.

score_namestr, default=None

Имя оценки, используемое для обозначения оси Y графика. Оно переопределит имя, полученное из параметра scoring. Если score есть None, мы используем "Score", если negate_score есть False, и "Negative score" в противном случае. Если scoring является строкой или вызываемым объектом, мы выводим имя. Мы заменяем _ пробелами и пишем первую букву с заглавной. Мы удаляем neg_ и заменяем его на "Negative", если negate_score есть False, или просто удаляем его в противном случае.

score_type{“test”, “train”, “both”}, default=”both”

Тип оценки для отображения на графике. Может быть одним из "test", "train" или "both".

std_display_style{“errorbar”, “fill_between”} или None, default=”fill_between”

Стиль отображения стандартного отклонения оценки вокруг средней оценки. Если None, стандартное отклонение не отображается.

line_kwdict, default=None

Дополнительные ключевые аргументы, передаваемые в plt.plot, используемые для построения средней оценки.

fill_between_kwdict, default=None

Дополнительные ключевые аргументы, передаваемые в plt.fill_between, используемые для построения стандартного отклонения оценки.

errorbar_kwdict, default=None

Дополнительные ключевые аргументы, передаваемые в plt.errorbar, используемые для построения средней оценки и стандартного отклонения оценки.

Возвращает:
displayValidationCurveDisplay

Объект, хранящий вычисленные значения.

Примеры

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.model_selection import ValidationCurveDisplay
>>> 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)
>>> ValidationCurveDisplay.from_estimator(
...     logistic_regression, X, y, param_name=param_name,
...     param_range=param_range,
... )
<...>
>>> plt.show()
../../_images/sklearn-model_selection-ValidationCurveDisplay-2.png
plot(ax=None, *, negate_score=False, score_name=None, score_type='both', std_display_style='fill_between', line_kw=None, fill_between_kw=None, errorbar_kw=None)[source]

Графическое отображение.

Параметры:
axmatplotlib Axes, по умолчанию=None

Объект осей для построения графика. Если None, создается новая фигура и оси.

negate_scorebool, по умолчанию=False

Нужно ли инвертировать полученные оценки через validation_curve. Это особенно полезно при использовании ошибки, обозначенной neg_* в scikit-learn.

score_namestr, по умолчанию=None

Название метрики для подписи оси y графика. Оно переопределит имя, выведенное из параметра scoring. Если score равно None, мы используем "Score", если negate_score равно False, и "Negative score" в противном случае. Если scoring является строкой или вызываемым объектом, мы выводим имя. Мы заменяем _ пробелами и делаем первую букву заглавной. Мы удаляем neg_ и заменяем его на "Negative", если negate_score равно False, или просто удаляем его в противном случае.

score_type{“test”, “train”, “both”}, по умолчанию=”both”

Тип метрики для построения графика. Может принимать значения "test", "train", или "both".

std_display_style{“errorbar”, “fill_between”} или None, по умолчанию=”fill_between”

Стиль отображения стандартного отклонения метрики вокруг среднего значения. Если None, стандартное отклонение не отображается.

line_kwdict, по умолчанию=None

Дополнительные ключевые аргументы, передаваемые в plt.plot для рисования среднего значения метрики.

fill_between_kwdict, по умолчанию=None

Дополнительные ключевые аргументы, передаваемые в plt.fill_between для рисования стандартного отклонения метрики.

errorbar_kwdict, по умолчанию=None

Дополнительные ключевые аргументы, передаваемые в plt.errorbar для рисования среднего значения метрики и стандартного отклонения.

Возвращаемое значение:
displayValidationCurveDisplay

Объект, хранящий вычисленные значения.

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

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

Основные моменты выпуска scikit-learn 1.3

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

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

Spec-Zone.ru

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