sklearn.cross_val_score和sklearn.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。

 

 

 

你可能感兴趣的:(Bug,机器学习,sklearn)