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
中的折数,生成 (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]