sklearn.model_selection.validation_curve

sklearn.model_selection.validation_curve(estimator, X, y, *, param_name, param_range, groups=None, cv=None, scoring=None, n_jobs=None, pre_dispatch='all', verbose=0, error_score=nan)

[源码]

验证曲线。

用于确定不同参数值的训练集和测试集准确率。

计算具有指定参数不同值的估计器的准确率。这类似于带有一个参数的网格搜索。但是,也会计算训练集的准确率,仅是一个绘制结果的工具。

用户指南中阅读更多内容。

参数 说明
estimator object type that implements the “fit” and “predict” methods
每次验证都会克隆的该类型的对象。
X array-like of shape (n_samples, n_features)
用于训练的向量,其中n_samples是样本数量,n_features是特征数量。
y array-like of shape (n_samples,) or (n_samples, n_outputs) or None
相对于X的标签,用于分类或回归;无监督学习为None
param_name str
将会改变的参数名称。
param_range array-like of shape (n_values,)
将要评估的参数值。
groups array-like of shape (n_samples,), default=None
将数据集拆分为训练/测试集时使用的样本的标签分组。仅与“ Group” cv 实例(例如GroupKFold)结合使用。
cv int, cross-validation generator or an iterable, default=None
确定交叉验证切分策略。cv值可以输入:

- None,默认使用5折交叉验证
- int,用于指定(Stratified)KFold的折数
- CV splitter,
- 可迭代输出训练集和测试集的切分作为索引数组

对于int或 None输入,如果估计器是分类器,并且y是二分类或多分类,则使用StratifiedKFold。在所有其他情况下,均使用KFold

有关可在此处使用的各种交叉验证策略,请参阅用户指南

在版本0.22中:如果cv为None,默认值从3折更改为5折。
scoring str or callable, default=None
一个str(参见模型评估文档)或一个信息为scorer(estimator, X, y)的可调用对象或函数的评分器,它应该只返回一个值。
n_jobs int, default=None
用于进行计算的CPU数量。 None除非在joblib.parallel_backend环境中,否则表示1 。 undefined表示使用所有处理器。有关更多详细信息,请参见词汇表
pre_dispatch int or str, default=’all’
并行执行的预调用CPU数(默认为全部)。该选项可以减少分配的内存。str可以是类似“ 2 * n_jobs”的表达式。
verbose int, default=0
控制详细程度:越高,消息越多。
error_score ‘raise’ or numeric, default=np.nan
如果估计器拟合出现错误,则分配给分数的值。如果设置为“ raise”,则会引发错误。如果给出数值,则引发FitFailedWarning。此参数不会影响重新拟合步骤,这将总是引发错误。

0.20版中的新功能。
返回值 说明
train_scores array of shape (n_ticks, n_cv_folds)
训练集准确率。
test_scores array of shape (n_ticks, n_cv_folds)
测试集准确率。

参阅 绘制验证曲线

sklearn.model_selection.validation_curve使用示例