1、数据划分。
对样本进行抽样,抽取80%作为训练样本,剩下的20%作为测试样本。
2、建模
traindata = read.csv("trainData.csv")
head(traindata)
输出结果如下:
traindata = transform(traindata,class = as.factor(class)) #将class列转换为factor类型
library(e1071)
svm.model = svm(class~.,traindata[,-2]) #支持向量机分类模型
confusion = table(traindata$class,predict(svm.model,traindata,type="class")) #建立混淆矩阵
confusion
accuracy = sum(diag(confusion))*100/sum(confusion) #计算分类准确率
accuracy
输出结果如下:
3、模型测试
testdata = read.csv("testData.csv")
confusion = table(testdata$class,predict(svm.model,testdata,type="class"))
confusion
accuracy = sum(diag(confusion))*100/sum(confusion)
accuracy
输出结果如下:
从结果可知,分类准确率为92.3%,说明模型的分类效果较好。