1、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)
(1)cv参数定义交叉验证方式:对于参数值为None或Integer,当estimator是分类器且y是二类或多类,使用stratifiedKfold;否则为Kfold;
2、sklearn.metrics.roc_auc_score(y_true, y_score, average='macro', sample_weight=None, max_fpr=None, multi_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。

本文探讨了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的效果相似。
1030

被折叠的 条评论
为什么被折叠?



