与 2 类的分类一样,更高的准确度会导致更低的 ROC - AUC 吗?, AdamO 说对于随机森林 ROC AUC 是不可用的,因为这个算法没有截止值,并且 ROC AUC 只有在算法返回一个连续概率值(并且只有 1 个值)的情况下才能计算看不见的元素。
但是在R和Python中,很多时候,比如pROC::auc
在R中,或者roc_auc_score
在python中的sklearn中,我们可以在预测结果后计算ROC AUC,即ROC AUC适用于所有算法。
摘要:为什么ROC AUC不适用于随机森林(在分类True / False标签的情况下)
AUC 的思想是:如果你改变截止值,分配就会改变。例如,在回归中,一个对象的预测值为 0.75,截止值为 0.8,它将被分配给 False (0),如果截止值为 0.6,它将被分配给 True (1) .
但是对于 randomForest,分配永远不会改变。
例如,使用函数predict_proba,sklearn 将返回每个类的概率列表,而不仅仅是 1 个概率
所以,假设 sklearn 返回一个看不见的元素
True False
0.21 0.19
无论截止值发生什么变化,分配将始终为 True 并且永远不会改变。