在这个网站上:https://medium.com/@ODSC/build-a-multi-class-support-vector-machine-in-r-abcdd4b7dab6
它说我们可以用它来预测
prediction <- predict(svm1, test_iris)
> xtab <- table(test_iris$Species, prediction)
> xtab prediction
setosa versicolor virginica
setosa 20 0 0
versicolor 0 20 1
virginica 0 0 19
并使用它来查找准确性
(20+20+19)/nrow(test_iris) # Compute prediction accuracy
但是当我有非常非常大的数据集时,我什至看不到表格如何找到这个数字(20+20+19(? 找到准确性?
您可以使用diag
获得正确的分类:
library(e1071)
svm1 <- svm(Species~., data=iris)
prediction <- predict(svm1, iris)
xtab <- table(iris$Species, prediction)
sum(diag(xtab))/sum(xtab) #Overall
#[1] 0.9733333
diag(xtab)/rowSums(xtab) #For each class per observation
# setosa versicolor virginica
# 1.00 0.96 0.96
diag(xtab)/colSums(xtab) #For each class per prediction
# setosa versicolor virginica
# 1.00 0.96 0.96