cross_val_score#

sklearn.model_selection.cross_val_score(estimator, X, y=None, *, groups=None, scoring=None, cv=None, n_jobs=None, verbose=0, fit_params=None, params=None, pre_dispatch='2*n_jobs', error_score=nan)#

评估通过交叉验证的得分。

更多信息请参阅 用户指南

Parameters:
estimator实现 ‘fit’ 方法的估计器对象

用于拟合数据的对象。

X{array-like, sparse matrix},形状为 (n_samples, n_features)

用于拟合的数据。可以是例如列表或数组。

y形状为 (n_samples,) 或 (n_samples, n_outputs) 的 array-like,默认=None

在监督学习的情况下,尝试预测的目标变量。

groups形状为 (n_samples,) 的 array-like,默认=None

在将数据集拆分为训练/测试集时使用的样本组标签。仅在与 “Group” cv 实例(例如 GroupKFold )结合使用时使用。

Changed in version 1.4: groups 只能在未通过 sklearn.set_config(enable_metadata_routing=True) 启用元数据路由的情况下传递。当启用路由时,通过 params 参数与其他元数据一起传递 groups 。例如: cross_val_score(..., params={'groups': groups})

scoringstr 或 callable,默认=None

一个 str(参见 scoring_parameter )或一个 scorer callable 对象/函数,其签名 scorer(estimator, X, y) 应仅返回一个值。

类似于 cross_validate 但只允许一个指标。

如果为 None ,则使用估计器的默认 scorer(如果可用)。

cvint, cross-validation 生成器或可迭代对象,默认=None

确定交叉验证拆分策略。 cv 的可能输入包括:

  • None ,使用默认的 5 折交叉验证,

  • int,指定 (Stratified)KFold 中的折数,

  • CV splitter

  • 生成 (train, test) 拆分的可迭代对象,作为索引数组。

对于 int / None 输入,如果估计器是分类器且 y 是二分类或多分类,则使用 StratifiedKFold 。在所有其他情况下,使用 KFold 。这些拆分器以 shuffle=False 实例化,因此拆分将在多次调用中保持一致。

请参阅 用户指南 以了解可以在此处使用的各种交叉验证策略。

Changed in version 0.22: cv 的默认值如果为 None ,则从 3 折改为 5 折。

n_jobsint,默认=None

并行运行的作业数量。估计器的训练和得分的计算在交叉验证拆分上并行化。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有处理器。有关更多详细信息,请参阅 Glossary

verboseint,默认=0

详细级别。

fit_paramsdict,默认=None

传递给估计器 fit 方法的参数。

Deprecated since version 1.4: 此参数已弃用,将在版本 1.6 中移除。请使用 params 代替。

paramsdict,默认=None

传递给底层估计器的 fit 、scorer 和 CV splitter 的参数。

Added in version 1.4.

pre_dispatchint 或 str,默认=’2*n_jobs’

控制并行执行期间分派的作业数量。减少此数量可能有助于避免在分派的作业多于 CPU 可以处理时内存消耗的爆炸。此参数可以是:

  • None ,在这种情况下,所有作业都会立即创建并生成。对于轻量级和快速运行的作业,使用此选项可避免因按需生成作业而导致的延迟,

  • 一个 int,给出要生成的总作业的确切数量,

  • 一个 str,给出作为 n_jobs 函数的表达式,例如 ‘2*n_jobs’。

error_score‘raise’ 或 numeric,默认=np.nan

在估计器拟合过程中发生错误时分配给得分的值。 如果设置为 ‘raise’,则引发错误。 如果给定数值,则引发 FitFailedWarning。

Added in version 0.20.

Returns:
scores形状为 (len(list(cv)),) 的 float 的 ndarray

估计器在每次交叉验证运行中的得分数组。

See also

cross_validate

对多个指标进行交叉验证,并返回训练得分、拟合时间和得分时间。

cross_val_predict

获取用于诊断目的的交叉验证每次拆分的预测。

sklearn.metrics.make_scorer

从性能指标或损失函数创建 scorer。

Examples

>>> from sklearn import datasets, linear_model
>>> from sklearn.model_selection import cross_val_score
>>> diabetes = datasets.load_diabetes()
>>> X = diabetes.data[:150]
>>> y = diabetes.target[:150]
>>> lasso = linear_model.Lasso()
>>> print(cross_val_score(lasso, X, y, cv=3))
[0.3315057  0.08022103 0.03531816]