在一般情况下:你不能
ROC 曲线显示灵敏度和特异性如何在每个可能的阈值下变化。已在单个阈值处计算了一个列联表,而有关其他阈值的信息已丢失。因此,您无法根据此汇总数据计算 ROC 曲线。
但是我的分类器是二元的,所以我只有一个阈值
二元分类器并不是真正的二元分类器。尽管它们可能只公开最终的二元决策,但我所知道的所有分类器都依赖于一些底层的定量估计。
- 二叉决策树?尝试构建回归树。
- 分类器 SVM?做一个支持向量回归。
- 逻辑回归?访问原始概率。
- 神经网络?改为使用最后一层的数字输出。
这将使您有更多的自由来选择最佳阈值,以获得满足您需求的最佳分类。
但我真的很想
你真的不应该。具有很少阈值的 ROC 曲线显着低估了曲线下的真实面积 (1)。具有单点的 ROC 曲线是最坏的情况,任何与连续分类器的比较都是不准确和误导的。
只要给我答案!
好吧,好吧,你赢了。对于一个点,我们可以将 AUC 视为两个三角形 T 和 U 的总和:
我们可以根据列联表(您定义的 A、B、C 和 D)获取它们的区域:
T=1×SE2U=SP×12=SE2=A2(A+C)=SP2=D2(B+D)
获取 AUC:
AUC=T+U=A2(A+C)+D2(B+D)=SE+SP2
总结
您可以从混淆矩阵技术上计算二元分类器的 ROC AUC。但以防万一我不清楚,让我最后再说一遍:不要这样做!
参考
(1) DeLong ER、DeLong DM、Clarke-Pearson DL:比较两个或多个相关接收器操作特性曲线下的面积:一种非参数方法。生物识别 1988,44:837-845。
https://www.jstor.org/stable/2531595