LearningCurveDisplay#

класс sklearn.model_selection.LearningCurveDisplay(*, train_sizes, train_scores, test_scores, score_name=None)[источник]#

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

Рекомендуется использовать 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, default=None

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

Атрибуты:
ax_matplotlib Axes

Оси с кривой обучения.

figure_фигура matplotlib

График, содержащий кривую обучения.

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
метод класса from_estimator(estimator, X, y, *, группы=None, train_sizes=array([0.1, 0.33, 0.55, 0.78, 1.], cv=None, оценка=None, exploit_incremental_learning=False, n_jobs=None, pre_dispatch='all', verbose=0, перемешивание=False, random_state=None, error_score=nan, fit_params=None, ax=None, отрицать_оценку=False, score_name=None, score_type='both', std_display_style='fill_between', line_kw=None, fill_between_kw=None, errorbar_kw=None)[источник]#

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

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

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

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

Xarray-like формы (n_samples, n_features)

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

yarray-like формы (n_samples,) или (n_samples, n_outputs) или None

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

группыarray-like формы (n_samples,), по умолчанию=None

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

train_sizesarray-like формы (n_ticks,), по умолчанию=np.linspace(0.1, 1.0, 5)

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

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

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

  • None, чтобы использовать стандартную 5-кратную перекрестную проверку,

  • int, чтобы указать количество фолдов в (Stratified)KFold,

  • CV splitter,

  • Итерируемый объект, возвращающий (обучающие, тестовые) разбиения в виде массивов индексов.

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

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

оценкаstr или callable, по умолчанию=None

Метод оценки при вычислении кривой обучения. Варианты:

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

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

n_jobsint, default=None

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

pre_dispatchint или str, по умолчанию='all'

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

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

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

перемешиваниеbool, по умолчанию=False

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

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

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

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

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

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

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

axmatplotlib Axes, default=None

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

отрицать_оценкуbool, по умолчанию=False

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

score_namestr, default=None

Название оценки, используемой для оформления оси Y графика. Оно переопределит имя, выведенное из scoring параметр. Если score является None, мы используем "Score" if negate_score является False и "Negative score" в противном случае. Если scoring является строкой или вызываемым объектом, мы выводим имя. Мы заменяем _ пробелами и с заглавной буквы. Мы удаляем neg_ и заменить его на "Negative" if 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 используется для построения средней оценки и оценки стандартного отклонения.

Возвращает:
отображениеLearningCurveDisplay

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

Примеры

>>> 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, *, отрицать_оценку=False, score_name=None, score_type='both', std_display_style='fill_between', line_kw=None, fill_between_kw=None, errorbar_kw=None)[источник]#

Визуализация графика.

Параметры:
axmatplotlib Axes, default=None

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

отрицать_оценкуbool, по умолчанию=False

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

score_namestr, default=None

Название оценки, используемой для оформления оси Y графика. Оно переопределит имя, выведенное из scoring параметр. Если score является None, мы используем "Score" if negate_score является False и "Negative score" в противном случае. Если scoring является строкой или вызываемым объектом, мы выводим имя. Мы заменяем _ пробелами и с заглавной буквы. Мы удаляем neg_ и заменить его на "Negative" if 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 используется для построения средней оценки и оценки стандартного отклонения.

Возвращает:
отображениеLearningCurveDisplay

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