2014-11-17 125 views
4

在R如何得到混亂矩陣的百分比(或1的分數)。 「caret」包提供有用的功能,但顯示絕對樣本數。R,混亂矩陣百分比

library(caret) 
data(iris) 
T <- iris$Species 
P <- sample(iris$Species) 
confusionMatrix(P, T) 
Confusion Matrix and Statistics 
      Reference 
Prediction setosa versicolor virginica 
setosa   15   16  19 
versicolor  19   16  15 
virginica  16   18  16 
+0

'prop.table(confusionMatrix(P,T)$ table,{1 | 2})'? – chl

+1

如果你有你的答案,接受這樣的答案是有禮貌的,所以這個問題可以被標記爲回答。 – cdeterman

回答

5

如果您想要所有摘要統計信息,那麼插入符號函數很不錯。如果你關心的只是'百分比'混淆矩陣,那麼你可以使用prop.tabletable。此外,爲了將來的參考,嚴格編程問題應張貼到stackoverflow非CrossValidated。

prop.table(table(P,T)) 
> prop.table(table(P,T)) 
      T 
P    setosa versicolor virginica 
    setosa  0.11333333 0.10666667 0.11333333 
    versicolor 0.09333333 0.13333333 0.10666667 
    virginica 0.12666667 0.09333333 0.11333333 

如果您想保留摘要統計信息,只需將prop.table放在混淆矩陣對象上。

prop.table(caret::confusionMatrix(P,T)$table)