2013-05-09 33 views
0

我有多个使用ROCR创建的performance对象。其中每个包含一个类的aucfpr/tpr值。反过来,他们有多次测试运行的结果。所以,组合ROCR性能对象

length([email protected]) 

给出某物> 1.

我可以使用

plot(first.perf.obj, avg="vertical") 
如ROCR手册中描述

单个类绘制平均值。我想结合这些对象来计算和绘制它们的全局平均值。喜欢的东西

global.perf.obj <- combine.perf.objects(first.perf.obj, second.perf.obj, third.perf.obj) 

是否有一个简单的方法来做到这一点,或者我应该分解每一个对象,并通过手工方式计算值?

回答

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")

这有点慢,但我认为它比试图组合多个对象的值更简单。