R:我们如何打印SVM的百分比准确度

Mah*_*lid 5 r machine-learning svm libsvm confusion-matrix

这是我的示例R代码:

    train <- read.csv("Train.csv")
    test <- read.csv("Test+.csv")

   x <- model.matrix(age ~ . - 1,data=train)           

    classify=svm(as.factor(age)~ ., data=train,method="class")
    pred = predict(classify,test,type="class")
Run Code Online (Sandbox Code Playgroud)

我怎样才能从中打印百分比准确度?我希望显示所有性能指标,如准确度,精度,召回.etc以供我评估.

eip*_*i10 7

以下是一些选项,使用内置iris数据框进行说明:

library(e1071)

m1 <- svm(Species ~ ., data = iris)
Run Code Online (Sandbox Code Playgroud)

使用table函数创建混淆矩阵:

table(predict(m1), iris$Species, dnn=c("Prediction", "Actual"))   
Run Code Online (Sandbox Code Playgroud)
            Actual
Prediction   setosa versicolor virginica
setosa         50          0         0
versicolor      0         48         2
virginica       0          2        48
Run Code Online (Sandbox Code Playgroud)

使用该caret包生成混淆矩阵和其他模型诊断(您还可以caret用于整个模型开发,调整和验证过程):

library(caret)

confusionMatrix(iris$Species, predict(m1))
Run Code Online (Sandbox Code Playgroud)
Confusion Matrix and Statistics

            Reference
Prediction   setosa versicolor virginica
setosa         50          0         0
versicolor      0         48         2
virginica       0          2        48

Overall Statistics

Accuracy : 0.9733          
95% CI : (0.9331, 0.9927)
No Information Rate : 0.3333          
P-Value [Acc > NIR] : < 2.2e-16       

Kappa : 0.96            
Mcnemar's Test P-Value : NA              

Statistics by Class:

                     Class: setosa Class: versicolor Class: virginica
Sensitivity                 1.0000            0.9600           0.9600
Specificity                 1.0000            0.9800           0.9800
Pos Pred Value              1.0000            0.9600           0.9600
Neg Pred Value              1.0000            0.9800           0.9800
Prevalence                  0.3333            0.3333           0.3333
Detection Rate              0.3333            0.3200           0.3200
Detection Prevalence        0.3333            0.3333           0.3333
Balanced Accuracy           1.0000            0.9700           0.9700
Run Code Online (Sandbox Code Playgroud)