gpt4 book ai didi

r - 如何构造多类变量的混淆矩阵

转载 作者:行者123 更新时间:2023-12-04 22:04:38 25 4
gpt4 key购买 nike

假设我有一个因子变量 y有 n 个级别,我有可用的预测和实际结果。如何构建混淆矩阵?

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: how to make a confusion matrix for a predictive model?

我试过的

这是我走了多远
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

现在,这必须以矩阵的形式出现。

背景

混淆矩阵的水平标签为“实际类”,垂直标签为“预测类”。矩阵元素只是像这样计数:

元素 (1,1) = 实际类别的计数为 A,预测类别为 A

元素 (1,2) = 实际类别的计数为 A,预测类别为 B

等等

最佳答案

你应该可以用 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

关于r - 如何构造多类变量的混淆矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25497398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com