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"ifnegate_scoreявляетсяFalseи"Negative score"в противном случае. Еслиscoringявляется строкой или вызываемым объектом, мы выводим имя. Мы заменяем_пробелами и пишем первую букву заглавной. Мы удаляемneg_и заменить его на"Negative"ifnegate_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()
- метод класса 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,Итерируемый объект, возвращающий (обучающие, тестовые) разбиения в виде массивов индексов.
Для целочисленных/None входов, если оценщик является классификатором и
yявляется либо бинарным, либо многоклассовым,StratifiedKFoldиспользуется. Во всех остальных случаяхKFoldиспользуется. Эти сплиттеры создаются сshuffle=Falseтак что разбиения будут одинаковыми при разных вызовах.Обратитесь Руководство пользователя для различных стратегий перекрестной проверки, которые можно использовать здесь.
- оценкаstr или callable, по умолчанию=None
Метод оценки при вычислении кривой обучения. Варианты:
str: см. Строковые имена скореров для опций.
callable: вызываемый объект scorer (например, функция) с сигнатурой
scorer(estimator, X, y). См. Вызываемые скореры подробности.None:estimator’s критерий оценки по умолчанию используется.
- 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"ifnegate_scoreявляетсяFalseи"Negative score"в противном случае. Еслиscoringявляется строкой или вызываемым объектом, мы выводим имя. Мы заменяем_пробелами и с заглавной буквы. Мы удаляемneg_и заменить его на"Negative"ifnegate_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()
- 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"ifnegate_scoreявляетсяFalseи"Negative score"в противном случае. Еслиscoringявляется строкой или вызываемым объектом, мы выводим имя. Мы заменяем_пробелами и с заглавной буквы. Мы удаляемneg_и заменить его на"Negative"ifnegate_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 Объект, который хранит вычисленные значения.
- отображение
Примеры галереи#
Построение кривых обучения и проверка масштабируемости моделей