LearningCurveDisplay#
- class sklearn.model_selection.LearningCurveDisplay(*, train_sizes, train_scores, test_scores, score_name=None)#
学习曲线可视化。
建议使用
from_estimator
来 创建一个LearningCurveDisplay
实例。 所有参数都存储为属性。更多信息请参阅 用户指南 以获取有关可视化 API 的一般信息 和 详细文档 关于学习曲线可视化。
Added in version 1.2.
- Parameters:
- train_sizesndarray of shape (n_unique_ticks,)
用于生成学习曲线的训练样本数量。
- train_scoresndarray of shape (n_ticks, n_cv_folds)
训练集上的得分。
- test_scoresndarray of shape (n_ticks, n_cv_folds)
测试集上的得分。
- score_namestr, default=None
在
learning_curve
中使用的得分名称。它将覆盖从scoring
参数推断出的名称。 如果score
是None
,如果negate_score
是False
,我们使用"Score"
, 否则使用"Negative score"
。如果scoring
是一个字符串或可调用对象,我们推断名称。 我们将_
替换为空格,并将首字母大写。如果negate_score
是False
,我们删除neg_
并将其替换为"Negative"
, 否则只删除它。
- Attributes:
- ax_matplotlib Axes
带有学习曲线的轴。
- figure_matplotlib Figure
包含学习曲线的图形。
- errorbar_list of matplotlib Artist or None
当
std_display_style
是"errorbar"
时,这是一个matplotlib.container.ErrorbarContainer
对象列表。 如果使用其他样式,errorbar_
是None
。- lines_list of matplotlib Artist or None
当
std_display_style
是"fill_between"
时,这是一个对应于平均训练和测试得分的matplotlib.lines.Line2D
对象列表。 如果使用其他样式,line_
是None
。- fill_between_list of matplotlib Artist or None
当
std_display_style
是"fill_between"
时,这是一个matplotlib.collections.PolyCollection
对象列表。 如果使用其他样式,fill_between_
是None
。
See also
Examples
>>> 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()
- classmethod from_estimator(estimator, X, y, *, groups=None, train_sizes=array([0.1, 0.325, 0.55, 0.775, 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)#
创建一个从估计器生成的学习曲线显示。
在 用户指南 中阅读更多关于一般信息可视化 API 的信息,以及关于学习曲线可视化的 详细文档 。
- Parameters:
- 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)
用于生成学习曲线的相对或绝对训练示例数量。如果 dtype 为浮点数,则视为训练集最大大小的分数(由选定的验证方法确定),即必须在 (0, 1] 范围内。否则,解释为训练集的绝对大小。请注意,对于分类,样本数量通常必须足够大,以包含每个类至少一个样本。
- cvint, 交叉验证生成器或可迭代对象,默认=None
确定交叉验证拆分策略。 cv 的可能输入包括:
None,使用默认的 5 折交叉验证,
int,指定
(Stratified)KFold
中的折数,生成 (train, test) 拆分作为索引数组的迭代器。
对于 int/None 输入,如果估计器是分类器且
y
是二元或多元的,则使用StratifiedKFold
。在所有其他情况下,使用KFold
。这些拆分器使用shuffle=False
实例化,因此拆分将在多次调用中保持一致。参考 用户指南 了解可以在此使用的各种交叉验证策略。
- scoringstr 或 callable,默认=None
一个字符串(见 scoring_parameter )或 具有签名
scorer(estimator, X, y)
的评分器可调用对象/函数(见 从指标函数定义您的评分策略 )。- exploit_incremental_learningbool,默认=False
如果估计器支持增量学习,这将用于加速不同训练集大小的拟合。
- n_jobsint,默认=None
并行运行的作业数量。估计器的训练和分数的计算在不同的训练和测试集上并行化。
None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有处理器。有关详细信息,请参见 Glossary 。- pre_dispatchint 或 str,默认=’all’
并行执行的预分派作业数量(默认是所有)。该选项可以减少分配的内存。str 可以是像 ‘2*n_jobs’ 这样的表达式。
- verboseint,默认=0
控制详细程度:越高,消息越多。
- shufflebool,默认=False
在基于
train_sizes
取前缀之前是否打乱训练数据。- random_stateint, RandomState 实例或 None,默认=None
当
shuffle
为 True 时使用。传递一个 int 以在多次函数调用中获得可重复的输出。 见 Glossary 。- error_score‘raise’ 或 numeric,默认=np.nan
在估计器拟合过程中发生错误时分配给分数的值。如果设置为 ‘raise’,则引发错误。如果给定数值,则引发 FitFailedWarning。
- fit_paramsdict,默认=None
传递给估计器 fit 方法的参数。
- axmatplotlib Axes,默认=None
要绘制的 Axes 对象。如果
None
,则创建一个新的图形和 Axes。- negate_scorebool,默认=False
是否通过
learning_curve
获得的分数取反。在使用scikit-learn
中的neg_*
表示的错误时特别有用。- score_namestr,默认=None
用于装饰图表 y 轴的分数名称。它将覆盖从
scoring
参数推断的名称。如果score
为None
,如果negate_score
为False
,我们使用"Score"
,否则使用"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
的额外关键字参数。
- Returns:
- display
LearningCurveDisplay
存储计算值的对象。
- display
Examples
>>> 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)#
绘图可视化。
- Parameters:
- axmatplotlib Axes, 默认=None
要在其上绘制的Axes对象。如果为
None
,则创建一个新的图形和轴。- negate_scorebool, 默认=False
是否通过:func:
~sklearn.model_selection.learning_curve
获得的分数取反。这在使用scikit-learn
中的neg_*
表示的错误时特别有用。- score_namestr, 默认=None
用于装饰绘图y轴的分数名称。它将覆盖从
scoring
参数推断出的名称。如果score
为None
,如果negate_score
为False
,我们使用"Score"
,否则使用"Negative score"
。如果scoring
是一个字符串或可调用对象,我们推断名称。我们将_
替换为空格,并将首字母大写。如果negate_score
为False
,我们将neg_
替换为"Negative"
,否则仅删除它。- 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
的额外关键字参数。
- Returns:
- display
LearningCurveDisplay
存储计算值的对象。
- display