当使用auc_score作为分数函数时,GridSearchCV是否使用predict或predict_proba?

Bas*_*erg 18 scikit-learn

当使用auc_score作为分数函数时,GridSearchCV是否使用predict或predict_proba?

预测函数生成预测的类标签,这将始终产生三角形ROC曲线.使用预测的类概率获得更弯曲的ROC曲线.据我所知,后者更准确.如果是这样,"弯曲"ROC曲线下的面积可能最适合测量网格搜索中的分类性能.

因此,当使用ROC曲线下的区域作为性能测量时,我是好奇是否使用类标签或类概率进行网格搜索.我试图在代码中找到答案,但无法弄明白.这里有人知道答案吗?

谢谢

And*_*ler 28

auc_score用于网格搜索,您确实需要使用predict_probadecision_function正如您所指出的那样.这在0.13版本中是不可能的.如果你这样做score_func=auc_score将使用predict哪个没有任何意义.

[编辑]自0.14 [/ edit]以来,可以使用auc_score进行网格搜索,方法是将新scoring参数设置为roc_auc:GridSearch(est, param_grid, scoring='roc_auc').它会做正确的事情并使用predict_proba(或者decision_function如果predict_proba不可用).查看当前开发版本最新页面.

你需要从github安装当前的master来获得这个功能,或者等到4月(?)为0.14.

  • 不知何故忽略了你的问题avances123.查看"定义自己的评分函数"文档.你可以提供任何可调用的签名``myfunc(estimator,X_test,y_test)`` (2认同)