sklearn.cross_val_score和sklearn.roc_auc_score

本文探讨了sklearn库中cross_val_score的cv参数在分类任务中的运用,以及roc_auc_score参数y_score的正确使用方法。当cv参数为None或Integer时,分类器将使用stratifiedKfold或Kfold。同时强调,y_score应包含概率值或决策值,而非预测类别。错误地使用y_score可能导致评估失败。总结:在cv为Integer且分类任务中,cross_val_score与stratifiedKFold和roc_auc_score的效果相似。

1、sklearn.model_selection.cross_val_score(estimatorXy=Nonegroups=Nonescoring=Nonecv=Nonen_jobs=Noneverbose=0fit_params=Nonepre_dispatch='2*n_jobs'error_score=nan)

(1)cv参数定义交叉验证方式:对于参数值为None或Integer,当estimator是分类器且y是二类或多类,使用stratifiedKfold;否则为Kfold;

2、sklearn.metrics.roc_auc_score(y_truey_scoreaverage='macro'sample_weight=Nonemax_fpr=Nonemulti_class='raise'labels=None)

(1)参数y_score:在二分类或多分类中,该值既可以是概率值,也可以是non-thresholded decision values (as returned by decision_function on some classifiers),多分类中概率值的总和为1;当二分类时,y_score是最大标签类别的预测概率;当多类别时,预测每个类别的分数顺序应遵从真实标签的顺序,或者,遵从参数y_true中标签的数字顺序或字母顺序。

(2)今天参数y_score用错了,直接把预测类别当作参数传了,犯了低级错误,之前博客还介绍过;

 

总结:当cross_val_score中estimator是分类器时,且cv为Integer时,其效果相当于stratifiedKFold+roc_auc_score。

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值