簡體   English   中英

如何構造多類變量的混淆矩陣

[英]How to construct the confusion matrix for a multi class variable

假設我有一個具有n個級別的因子變量y ,我可以同時獲得預測和實際結果。 如何構建混淆矩陣?

set.seed(12345)
y_actual = as.factor(sample(c('A','B', 'C', 'D', 'E'), 100, replace = TRUE))
set.seed(12346)
y_predict = as.factor(sample(c('A','B', 'C', 'D', 'E'), 100, replace = TRUE))

對於n = 2的情況,已經回答了這個問題

R:如何為預測模型制作混淆矩陣?

我嘗試了什么

這是我得到了多遠

ones = data.frame(total = rep(1,100));
confusion = aggregate(ones, list(Prediction = predict, Reality = real), sum, a.action=0)
confusion

  Prediction Reality total
1          A       A    12
2          B       A     5
3          C       A    15
4          A       B    15
5          B       B     7
6          C       B     8
7          A       C    12
8          B       C    16
9          C       C    10

現在必須將其帶入矩陣的形狀。

背景

混淆矩陣具有水平標簽“實際類”和垂直標簽“預測類”。 矩陣元素簡單地計算如下:

element(1,1)=實際類的計數數是A,預測類是A.

element(1,2)=實際類的計數數是A,預測類是B.

等等

只需使用包中的confusionMatrix

require(caret)
confusionMatrix(y_actual, y_predict)



          Reference
Prediction  A  B  C
         A 12  5 15
         B 15  7  8
         C 12 16 10

你應該能夠用table做你想做的事:

table(y_actual, y_predict)
#         y_predict
# y_actual A B C D E
#        A 4 3 4 2 8
#        B 7 1 3 6 2
#        C 3 7 1 0 4
#        D 3 6 6 4 6
#        E 6 5 5 1 3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM