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

时间:2013-02-19 10:42:40

标签: scikit-learn

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

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

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

由于

1 个答案:

答案 0 :(得分:26)

要使用auc_score进行网格搜索,您确实需要使用predict_probadecision_function这在0.13版本中是不可能的。如果您执行score_func=auc_score,它将使用predict,这没有任何意义。

[edit]自0.14 [/ edit] 以来,可以使用auc_score 进行网格搜索,方法是将新的scoring参数设置为roc_auc:{{1 }}。如果GridSearch(est, param_grid, scoring='roc_auc')不可用,它会做正确的事情并使用predict_proba(或decision_function。 请参阅whats new page of the current dev version

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