当使用auc_score作为分数函数时,GridSearchCV是否使用predict或predict_proba?
预测函数生成预测的类标签,这将始终产生三角形ROC曲线。使用预测的类概率获得更弯曲的ROC曲线。据我所知,后者更准确。如果是这样,“弯曲”ROC曲线下的面积可能最适合测量网格搜索中的分类性能。
因此,当使用ROC曲线下的区域作为性能度量时,我是好奇是否使用类标签或类概率进行网格搜索。我试图在代码中找到答案,但无法弄明白。这里有人知道答案吗?
由于
答案 0 :(得分:26)
要使用auc_score
进行网格搜索,您确实需要使用predict_proba
或decision_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。