Кривая обучения
- 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()
- 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]
-
Создайте отображение кривой обучения по оценщику.
Дополнительную информацию об 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для рисования средней оценки и стандартного отклонения оценки.
- Возвращает:
-
-
display
LearningCurveDisplay -
Объект, хранящий вычисленные значения.
-
display
Примеры
>>> 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()
-
- 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для отрисовки средней оценки и стандартного отклонения.
- Возвращаемое значение:
-
-
display
LearningCurveDisplay -
Объект, хранящий вычисленные значения.
-
display
Примеры из галереи
© 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