【发布时间】:2020-12-20 01:12:02
【问题描述】:
我对一个简单的任务有一个大问题。我有一个由真实值(0 和 1)和来自不同模型的几个预测值组成的数据集。我正在使用包“Metrics”,我想使用 AUC(Metrics 中的函数“auc”)评估每个预测。 这是一个可重现的例子。我有一张桌子:
evaluate <- "true prediction_1 prediction_2 prediction_3
1 0.9 0.5 0.8
1 0.9 0.4 0.7
1 0.8 0.6 0.75
0 0.1 0.3 0.2
0 0.05 0.4 0.1
0 0.15 0.45 0.15"
Table <- read.table(text=evaluate, header = TRUE)
让我们获得第一个预测的 AUC:
require(Metrics)
auc(Table[,1], Table[,2])
[1] 1
类似地,我们可以得到第二个预测的 AUC:
auc(Table[,1], Table[,3])
[1] 0.8333333
但是如何同时获得所有列的 AUC? (不是对它们求和,而是在每对上迭代函数) 我想输入如下内容:
auc(Table[,1], Table[,2:4])
并获得一个表格,其中每个预测都分配有其 AUC 值,但这不起作用...
[1] 13.16667
Warning message:
In auc(Table[, 1], Table[, 2:4]) :
longer object length is not a multiple of shorter object length
我想这很简单,但我正在努力寻找答案,所以如果有人可以帮助我或指出正确的道路,我将不胜感激!
【问题讨论】: