1、本文以R中的mtcars数据集为例来说明SVM建模过程。SVM需要的程序包是e1071。#加载数据和程序包data(mtcars);head(mtcars)attach(mtcars)library(e1071)
2、将am设置为分类变量,这是后面要预测的变量,其他的则作为自变量。#数据展示plot(mtcars)###将am设置为分类变量mtcars$am<-as.factor(mtcars$am)
3、与其他建模过程一样,先将数据集分为训练集和测试集。#将数据分为训练集和测试集n=dim(mtcars)[1]index=sample(n,0.壅酪认奉7*n)train<-mtcars[index,];dim(train)test<-mtcars[-index,];dim(test)
4、下面利用训练集的数据建立模型。#利用训练集数据建立模型model<-svm(am~.,data=train)summary(model)
5、#利用测试集数据进行预测pred<-predict(model,test,decision.values=TRUE)head(pred)#准确率计算sum(pred==test$am)/dim(test)[1]本次分类准确率为70%。
6、最后,将预测结果保存下来。predict<-table(pred,test$am);predictwrite.csv(predict,"predict.csv")这个表中显示了预测正确的数量,以及预测错误的数量。