R软件如何实现SVM(支持向量机)模型?
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);predict
write.csv(predict,"predict.csv")
这个表中显示了预测正确的数量,以及预测错误的数量。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:180
阅读量:146
阅读量:73
阅读量:172
阅读量:172