![](/img/trans.png)
[英]XGBOOST-Multi class prediction. Prediction matrix is set of probabilities for classes. How to perform confusion matrix
[英]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的情況,已經回答了這個問題
我嘗試了什么
這是我得到了多遠
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.