我使用table
函数显示带有kNN / SVM分类混淆矩阵的结果。
示例:
svmE1071 <- function(x,y,type) {
library(e1071)
(...)
confTab <- table(pred=pred, true=y[,1])
return(confTab)
}
> myKknn(y, yUnknown)
unknown
yWohn1 6
yFlur1 18
yBad1 12
> svmE1071(y, yUnknown, "linear")
true
pred unknown
yWohn1 3
yFlur1 25
yBad1 8
> svmE1071(y, yUnknown, "polynomial")
true
pred unknown
yWohn1 8
yFlur1 20
yBad1 8
> svmE1071(y, yUnknown, "radial")
(...)
如何在R中生成一个带有多个混淆矩阵(如分组条形图)的条形图?
yWohn1 xxxx
kNN yFlur1 xxxxxxxxxxxxxxx
yBad1 xxxxxxxx
yWohn1 x
SVMl yFlur1 xxxxxxxxxxxx
yBad1 xxxxxxxxxxx
(...)
答案 0 :(得分:2)
首先,您需要将表分配给某个变量:
table1 <- svm(...)
table2 <- svm(...)
...
然后你可以将它们与cbind结合起来:
allTables <- cbind(table1, table2, ...)
然后使用barplot:
barplot(allTables, beside=TRUE, names=c("SVN","kNN"))
有关详细信息,请参阅?barplot
。