Spec-Zone.ru › scikit-learn

Кривая обучения

classsklearn.model_selection.LearningCurveDisplay(*, train_sizes, train_scores, test_scores, score_name=None)[source]

Визуализация кривой обучения.

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

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

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

Параметры:
train_sizesndarray формы (n_unique_ticks,)

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

train_scoresndarray формы (n_ticks, n_cv_folds)

Результаты на обучающих наборах.

test_scoresndarray формы (n_ticks, n_cv_folds)

Результаты на тестовом наборе.

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

Название метрики, используемой в learning_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.learning_curve

Вычислить кривую обучения.

Примеры

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import load_iris
>>> from sklearn.model_selection import LearningCurveDisplay, learning_curve
>>> from sklearn.tree import DecisionTreeClassifier
>>> X, y = load_iris(return_X_y=True)
>>> tree = DecisionTreeClassifier(random_state=0)
>>> train_sizes, train_scores, test_scores = learning_curve(
...     tree, X, y)
>>> display = LearningCurveDisplay(train_sizes=train_sizes,
...     train_scores=train_scores, test_scores=test_scores, score_name="Score")
>>> display.plot()
<...>
>>> plt.show()
../../_images/sklearn-model_selection-LearningCurveDisplay-1.png
classmethodfrom_estimator(estimator, X, y, *, groups=None, train_sizes=array([0.1, 0.33, 0.55, 0.78, 1.]), cv=None, scoring=None, exploit_incremental_learning=False, n_jobs=None, pre_dispatch='all', verbose=0, shuffle=False, random_state=None, 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]
END_OF_DOCUMENT_MARKER

Создайте отображение кривой обучения по оценщику.

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

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

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

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

Обучающие данные, где n_samples — количество примеров, а n_features — количество признаков.

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

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

groupsмассив-подобный с формой (n_samples,), по умолчанию=None

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

train_sizesмассив-подобный с формой (n_ticks,), по умолчанию=np.linspace(0.1, 1.0, 5)

Относительное или абсолютное количество обучающих примеров, которые будут использоваться для генерации кривой обучения. Если тип данных — float, он рассматривается как доля максимального размера обучающего набора (определяемого выбранным методом проверки), т.е. он должен находиться в пределах (0, 1]. В противном случае он интерпретируется как абсолютные размеры обучающих наборов. Обратите внимание, что для классификации количество примеров, как правило, должно быть достаточно большим, чтобы содержать по крайней мере один пример каждого класса.

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

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

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

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

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

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

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

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

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

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

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

pre_dispatchint или строка, по умолчанию=’all’

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

verboseint, по умолчанию=0

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

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

Перемешивать ли обучающие данные перед взятием префиксов в соответствии с`train_sizes`.

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

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

error_score‘raise’ или числовое значение, по умолчанию=np.nan

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

fit_paramsсловарь, по умолчанию=None

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

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

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

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

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

score_nameстрока, по умолчанию=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_kwсловарь, по умолчанию=None

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

fill_between_kwсловарь, по умолчанию=None

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

errorbar_kwсловарь, по умолчанию=None

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

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

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

Примеры

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import load_iris
>>> from sklearn.model_selection import LearningCurveDisplay
>>> from sklearn.tree import DecisionTreeClassifier
>>> X, y = load_iris(return_X_y=True)
>>> tree = DecisionTreeClassifier(random_state=0)
>>> LearningCurveDisplay.from_estimator(tree, X, y)
<...>
>>> plt.show()
../../_images/sklearn-model_selection-LearningCurveDisplay-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

Нужно ли инвертировать полученные оценки с помощью learning_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 для отрисовки средней оценки и стандартного отклонения.

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

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

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

Построение кривых обучения и проверка масштабируемости моделей

Основные моменты выпуска для scikit-learn 1.2

Сравнение линейной регрессии с ядром и SVR

Построение кривых обучения и проверка масштабируемости моделей

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

Spec-Zone.ru

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