繁体   English   中英

交叉验证:来自scikit-learn参数的cross_val_score函数

[英]Cross validation: cross_val_score function from scikit-learn arguments

根据scikit-learn的DOC

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

X和y

X:array-like要适合的数据。 可以是例如列表或数组。

y:array-like,optional,default:None在监督学习的情况下尝试预测的目标变量。

我想知道[X,y]是X_train,y_train还是[X,y]应该是整个数据集。 在一些来自kaggle的笔记本中,有些人使用整个数据集,还有一些人使用X_train和y_train。

据我所知,交叉验证只是评估模型并显示您是否过度匹配/不适合您的数据(它实际上并不训练模型)。 然后,在我看来,你拥有的数据越多,性能就越好,所以我会使用整个数据集。

你怎么看?

模型performance取决于数据分割的方式,有时模型没有概括的能力。

这就是我们需要交叉验证的原因。

Cross-validation是评估模型的关键步骤。 它最大化了用于训练模型的数据量,因为在训练过程中,模型不仅经过培训,而且还在所有可用数据上进行测试。

我想知道[X,y]是X_train,y_train还是[X,y]应该是整个数据集。

[X, y]应该是整个数据集,因为内部交叉验证将数据分成training数据和test数据。

假设您使用5次交叉验证(cv = 5)。

我们首先将数据集拆分为五组或折叠。 然后我们将第一个折叠作为测试集,在剩余的四个折叠上拟合模型,在测试集上预测并计算感兴趣的度量。

接下来,我们将第二个折叠作为输出测试集,适合剩余数据,在测试集上预测并计算感兴趣的度量。

在此输入图像描述

默认情况下,scikit-learn的cross_val_score()函数使用R^2得分作为回归的选择度量。

R^2得分称为确定系数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM