R - 如何找到多分类 SVM 的准确性



在这个网站上: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 

相关内容

  • 没有找到相关文章

最新更新