簡體   English   中英

如何重新排序列聯表以在 R 中形成混淆矩陣

[英]how to reorder the contingency table to form a confusion matrix in R

在聚類算法的應用方面,我得到了實際 class 和預測 class 的每個組合的計數列聯表后,例如,

  1  2  3
A 2  3  15
B 20 1  4
C 0  32 1

我怎么能寫一個 function 來獲得通過改變列的順序來最大化對角線的混淆矩陣? 謝謝!

  1  2  3
A 15 2  3
B 4  20 1
C 1  0  32

我們可以使用max.col來獲取每行最大值的列索引,並使用它來重新排列列

m2 <- m1[,max.col(m1, 'first')]
colnames(m2) <- seq_len(ncol(m2))
m2
#   1  2  3
#A 15  2  3
#B  4 20  1
#C  1  0 32

數據

m1 <- structure(c(2L, 20L, 0L, 3L, 1L, 32L, 15L, 4L, 1L), .Dim = c(3L, 
  3L), .Dimnames = list(c("A", "B", "C"), c("1", "2", "3")))

暫無
暫無

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

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