我正在尝试计算大型数据集的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这样的情况有更快的实施。
答案 0 :(得分:1)
到目前为止,我已经尝试过ROCR包,但它只处理0和1的
您是在谈论参考类会员资格还是预测的班级会员资格?
后者在ROCR中可以介于0和1之间,查看其示例数据集ROCR.simple
。
如果您的参考文献在[0,1]中,您可以查看(免责声明:我的)软件包softclassval。但是,您必须从灵敏度和特异性计算中构建ROC / AUC。因此,除非您考虑优化算法(如ROCR开发人员所做的那样),否则它可能需要很长时间。在这种情况下,您还必须考虑灵敏度和特异性应该是什么意思,因为这与(0,1)中的参考成员资格不明确。
澄清问题后更新
您需要注意,将引用或实际分组在一起会丢失信息。例如,如果你有实际= 0.5和预测= 0.8,这意味着什么?假设这些值确实是实际= 5/10且预测= 5/10。 通过将10个测试总结为两个数字,您将丢失信息,无论10个中的相同 5是否有意义。没有这个,实际= 5/10和预测= 8/10与正确识别的30%和70%之间的任何内容一致!
以下是讨论灵敏度的说明(即正确识别,例如点击):
您可以在softclassval.r-forge.r-project.org,“关于softclassval”部分找到整个海报和两个讨论此类问题的演示文稿。
继续这些想法,也可以使用平均绝对值,均方值,均方根等误差的加权版本。
然而,表达模型相同性能特征的所有不同方式(例如灵敏度=实际点击事件的正确识别百分比)确实具有不同的含义,并且它们与明确的参考中的通常计算一致和预测情况,他们将对模糊参考/部分参考类成员资格做出不同反应。
另请注意,当您在[0,1]中使用连续值进行参考/实际和预测时,整个测试将在ROC或特异性敏感性图中浓缩为一个点(不是一行!)。 / p>
底线:数据分组会让您遇到麻烦。因此,如果你能以某种方式获得有关单击的信息,那么就去获取它!
答案 1 :(得分:1)
您可以使用其他错误措施来评估方法效果吗? (例如平均绝对误差,均方根误差)?
这篇文章也可能对你有所帮助,但如果观察值和预测值有不同的类数,那么你可能会遇到一些问题。
https://stat.ethz.ch/pipermail/r-help/2008-September/172537.html