2014-11-17 7 views
4

В R как получить матрицу Confusion в процентах (или доле 1). Пакет «Caret» обеспечивает полезную функцию, но показывает абсолютное количество выборок.R, Матрица Confusion в процентах

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.table и table. Кроме того, для дальнейшего использования, строгое программирование вопросов должно быть опубликовано до 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)