2013-05-09 68 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")

這有點慢,但我認爲它比試圖組合多個對象的值更簡單。