【发布时间】:2018-05-14 03:29:22
【问题描述】:
两个
pROC::auc(0:1, 1:0)
pROC::auc(0:1, 0:1)
AUC 为 1..
通过更多的实验,它似乎总是返回 max(AUC, 1 - AUC)。 有没有办法改变这个? 我找不到报告此问题的 GitHub 存储库。
【问题讨论】:
-
不是答案中指出的错误,但为了将来参考,这里是 github repo:github.com/xrobin/pROC
两个
pROC::auc(0:1, 1:0)
pROC::auc(0:1, 0:1)
AUC 为 1..
通过更多的实验,它似乎总是返回 max(AUC, 1 - AUC)。 有没有办法改变这个? 我找不到报告此问题的 GitHub 存储库。
【问题讨论】:
在pROC::roc 中有一个参数direction,默认设置为auto。
来自roc的文档:
direction - 在哪个方向进行比较? “自动”(默认): 自动定义中位数较高的组并取 相应的方向。 “>”:如果控件的预测变量值 组高于病例组的值(对照> t >= 例)。 “
pROC::auc(0:1, 1:0, direction = "<")
pROC::auc(0:1, 0:1, direction = "<")
Calimo 在 cmets 中给出了这种基本原理的解释:没有理由假设更高的预测值在所有情况下都更积极。与指示负类概率的模型一样
更多内容可以看here
【讨论】:
1 是二进制分类中概率较高的类的方式设置数据(或者至少这是从模型中寻找)。我还要感谢您pROC。
试试 ModelMetrics 中的 auc 函数:
ModelMetrics::auc(0:1, 1:0)
ModelMetrics::auc(0:1, 0:1)
输出:
[1] 0
[1] 1
【讨论】: