【发布时间】:2012-05-26 00:52:11
【问题描述】:
我正在尝试为一个大型数据集计算 AUC,但无法找到一个既能处理不只是 0 或 1 的值又能相当快地工作的数据集。
到目前为止,我已经尝试了 ROCR 包,但它只处理 0 和 1,pROC 包会给我一个答案,但可能需要 5-10 分钟来计算 100 万行。
请注意,我的所有值都介于 0 - 1 之间,但不一定是 1 或 0。
编辑:答案和预测都在 0 - 1 之间。
有什么建议吗?
EDIT2:
ROCR 可以处理这样的情况:
Ex.1
actual prediction
1 0
1 1
0 1
0 1
1 0
或者像这样:
Ex.2
actual prediction
1 .25
1 .1
0 .9
0 .01
1 .88
但不是这样的情况:
Ex.3
actual prediction
.2 .25
.6 .1
.98 .9
.05 .01
.72 .88
pROC 可以处理 Ex.3,但计算时间很长。我希望对于像 Ex.3 这样的情况有更快的实现。
【问题讨论】:
-
数据。我们需要一个例子。 “答案”和“预测”这两个词太模糊了,要求比“只处理 1 和 0”的方法更好的方法也是如此。
-
@DWin:我在上面添加了一些示例。让我知道他们是否有助于充实一些事情。抱歉没有详细说明。
-
0.2 的“实际”是多少?这是分组数据吗?
-
@DWin:是的,它是分组的。它是网络广告的点击率百分比。因此,对于广告“x”,实际值为 0.2 意味着它显示了 10 倍并点击了 2 倍或类似的东西。
-
所以你应该制作校准图而不是 ROC。或者您应该使用加权和
cumsum以可以计算 ROC 的形式重新转换数据。这些示例仍然不完整,因为它们没有从中得出比例的计数。