cross_val_score的 scoring参数值解析

一般我们在模型训练过程中,会采用K折交叉验证的方法来验证模型的表现,从而进行调参,一般我们会用到

sklearn.model_selection 的 cross_val_score 方法来计算模型的得分 
scores = cross_val_score(clf, iris.data, iris.target, cv=5,scoring='accuracy')

我们看到这里有个参数 scoring 参数,去scikit-learn官网了解之后发现这里的 scoring参数是默认为 None 的

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’)

scoring 参数可以有下面这些选择 具体参见 scoring-parameter

这里文档对分类、聚类和回归三种问题下可以使用的参数进行了说明

分类(classification)问题中

常用的是 ‘precision’ 和 ’recall‘ 和 ’f1,三者的关系可以用下图来表示

假设这是一个二元分类的问题

准确率(precision)也就是被分类器检测到的数据中 分类正确的部分

召回率(recall)就是 正类中被分类正确的部分

而F1值就是 准确率和召回率的调和平均数

在实际应用中,如果是做搜索类的问题,那就是在保证召回率的情况下提升准确率

在做垃圾邮件检测之类的问题,就是要保证准确率的情况下提升召回率

具体也就是遇到具体问题看两者的权衡

如果两者都要求高,那就需要保证较高的F1 score

回归类(Regression)问题中

比较常用的是 'neg_mean_squared_error‘ 也就是 均方差回归损失

该统计参数是预测数据和原始数据对应点误差的平方和的均值

公式长这样,了解下就ok了

 

以上属于个人的一点理解,不足之处大家可以随意吐槽

 

  • 47
    点赞
  • 238
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值