我使用performance
创建了多个ROCR
个对象。其中每个都包含类的auc
或fpr/tpr
值。反过来,它们具有多次测试运行的结果。所以,
length(first.perf.obj@y.values)
给出了一些> 1.
我可以使用
绘制单个班级的平均值plot(first.perf.obj, avg="vertical")
如ROCR手册中所述。我想结合这些对象来计算和绘制它们的全局平均值。像
这样的东西global.perf.obj <- combine.perf.objects(first.perf.obj, second.perf.obj, third.perf.obj)
有没有一种简单的方法可以做到这一点,还是应该分解每个对象并手动计算值?
答案 0 :(得分:0)
我回去为全局案例重新创建prediction
个对象。
我正在调用prediction
函数,如
global.prediction <- prediction(c(cls1.likelihood,
cls2.likelihood,
cls3.likelihood,
cls4.likelihood,
cls5.likelihood),
c(duplicate.cols(cls1.labels, ncol(cls1.likelihood)),
duplicate.cols(cls2.labels, ncol(cls2.likelihood)),
duplicate.cols(cls3.labels, ncol(cls3.likelihood)),
duplicate.cols(cls4.labels, ncol(cls4.likelihood)),
duplicate.cols(cls5.labels, ncol(cls5.likelihood))),
label.ordering=c(FALSE, TRUE))
duplicate.cols
的只需构建data.frame
个重复标签。
然后,我可以通过例如全局案例得到任何统计数据。 performance(global.prediction, "auc")
它有点慢,但我认为这比尝试组合多个performance
对象的值更简单。