cross_val_score (交叉验证分数)#
- sklearn.model_selection.cross_val_score(estimator, X, y=None, *, groups=None, scoring=None, cv=None, n_jobs=None, verbose=0, params=None, pre_dispatch='2*n_jobs', error_score=nan)[source]#
- 通过交叉验证评估分数。 - 更多信息请阅读用户指南。 - 参数:
- estimator实现“fit”方法的估计器对象
- 用于拟合数据的对象。 
- X形状为 (n_samples, n_features) 的 {数组、稀疏矩阵}
- 要拟合的数据。例如可以是列表或数组。 
- y形状为 (n_samples,) 或 (n_samples, n_outputs) 的数组,默认为 None
- 在监督学习的情况下,尝试预测的目标变量。 
- groups形状为 (n_samples,) 的数组,默认为 None
- 将数据集拆分为训练集/测试集时使用的样本分组标签。仅与“分组” cv 实例(例如, - GroupKFold)结合使用。- 1.4版本中的更改: 仅当未通过 - sklearn.set_config(enable_metadata_routing=True)启用元数据路由时,才能传递- groups。启用路由时,请通过- params参数传递- groups以及其他元数据。例如:- cross_val_score(..., params={'groups': groups})。
- scoringstr 或可调用对象,默认为 None
- 一个 str(参见 评分参数:定义模型评估规则)或一个评分器可调用对象/函数,其签名为 - scorer(estimator, X, y),该函数应仅返回单个值。- 类似于 - cross_validate,但只允许使用单个指标。- 如果为 - None,则使用估计器的默认评分器(如果可用)。
- cvint、交叉验证生成器或可迭代对象,默认为 None
- 确定交叉验证拆分策略。cv 的可能输入为 - None,使用默认的 5 折交叉验证,
- int,指定 - (Stratified)KFold中的折叠数,
- 生成 (train, test) 拆分作为索引数组的可迭代对象。 
 - 对于 - int/- None输入,如果估计器是分类器并且- y是二元或多类,则使用- StratifiedKFold。在所有其他情况下,使用- KFold。这些分割器使用- shuffle=False实例化,因此拆分在调用之间将保持一致。- 请参考 用户指南,了解此处可以使用的各种交叉验证策略。 - 0.22版本中的更改: 如果 - cv为- None,则默认值从 3 折更改为 5 折。
- n_jobsint,默认为 None
- 要并行运行的作业数。估计器的训练和分数的计算将在交叉验证拆分上并行化。 - None表示 1,除非在- joblib.parallel_backend上下文中。- -1表示使用所有处理器。更多详细信息,请参见 词汇表。
- verboseint,默认为 0
- 详细程度。 
- paramsdict,默认为 None
- 传递给底层估计器的 - fit、评分器和 CV 分割器的参数。- 1.4版本中添加。 
- pre_dispatchint 或 str,默认为 '2*n_jobs'
- 控制在并行执行期间分派的作业数量。减少此数量有助于避免在分派的作业数超过 CPU 可处理的数量时内存消耗激增。此参数可以是 - None,在这种情况下,所有作业都立即创建和生成。对于轻量级和快速运行的作业,请使用此方法,以避免由于按需生成作业而造成的延迟
- 一个 int,给出生成的总作业的确切数量 
- 一个 str,给出作为 n_jobs 函数的表达式,如 '2*n_jobs' 
 
- error_score'raise' 或数字,默认为 np.nan
- 如果估计器拟合过程中发生错误,则分配给分数的值。如果设置为“raise”,则会引发错误。如果给出数值,则会引发 FitFailedWarning。 - 版本 0.20 中添加。 
 
- 返回:
- scores形状为 (len(list(cv)),) 的浮点数 ndarray
- 每次交叉验证运行的估计器分数数组。 
 
 - 另请参见 - cross_validate (交叉验证)
- 对多个指标运行交叉验证并返回训练分数、拟合时间和评分时间。 
- cross_val_predict (交叉验证预测)
- 获取交叉验证每个拆分的预测结果,用于诊断目的。 
- sklearn.metrics.make_scorer
- 根据性能指标或损失函数创建评分器。 
 - 示例 - >>> 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] 
 
     
 
 
 
 
 
 
 
