对于sklearn这个包,我们无需多言,假如尚未安装sklearn则在后台输入
pip install sklearn
即可解决,当然如果觉得安装速度过慢也可以使用国内镜像
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sklearn
这里选用的是个人感觉最全的清华镜像源。
与sklearn.model_selection.cross_val_score函数对应的机器学习理论知识是k折交叉验证法(k-fold cross validation),它将数据集分为k个大小相似的子集,并将k-1个子集的并集作为训练集,余下的1个子集作为评估集,由此可得到k个不同的训练/评估集;
该函数在sklearn中的说明文档:点这里
sklearn.model_selection.cross_val_score(estimator, X, y=None, groups=None, scoring=None, cv=None, n_jobs=None, verbose=0, fit_params=None, pre_dispatch='2*n_jobs', error_score=nan)
上面给出的都是参数的默认值,estimator是需要评估的学习器,X是样本空间,y是标记空间
parameter | illustration |
---|---|
groups | 将数据集分割为训练/测试集时使用的样本的组标签,仅与“组”cv实例一起使用。一般情况下不使用。 |
scoring | 评估学习器性能的标准,通常需要使用sklearn.metrics.make_scorer函数,“Accuracy”,“mean_absolute_error”,"mean_squaerd_error"等 |
cv | 要将数据集分割的折数,默认的情况下是5 |
n_jobs | 使用多少CPU进行计算,默认情况下是1,设为-1时代表使用所有的CPU |
verbose | 详尽的级别,默认情况下为0 |
fit_params | 一个字典,传递给学习器拟合的方法 |
pre_dispatch | 控制在并行执行期间分派的任务的数量。当分配的任务比cpu处理的多时,减少这个数量可以避免内存消耗的激增。这个参数可以是:None,在这种情况下,所有的工作都是立即创建和产生的。将其用于轻量级和快速运行的任务,以避免由于按需生成作业而导致的延迟;一个整型,给出产生的所有任务的确切数量;一个字符串,将表达式作为n_jobs的函数,如’ 2*n_jobs ’ |
error_score | 当学习器拟合过程出现错误时,将该值赋给分数 |
需要注意的是,sklearn.model_selection.cross_val_score函数返回的是由k个score组成的array。
下面给出一个实例
model = LGBMRegressor(max_depth=5,num_leaves=10,objective="regression")
score_ = cross_val_score(model,X = X_train,y=Y_train,verbose=0,scoring=make_scorer(mean_squared_error))
输出结果:
[0.46157155 0.47102463 0.47506401 0.44817591 0.46550807]