In [48]:
#评估算法
In [46]:
#10折交叉验证
In [47]:
cv<-trainControl(method="cv",number=10,metric<-"Accuracy")
In [49]:
#建立模型
In [50]:
#a)linear algorithms
In [51]:
set.seed(7)
In [53]:
fit.lda<-train(Species~.,data=train,method="lda",metric=metric,trControl=cv)
In [54]:
#CART
In [55]:
set.seed(7)
In [56]:
fit.cart<-train(Species~.,data=train,method="rpart",metric=metric,trControl=cv)
In [57]:
#KNN
In [58]:
fit.knn<-train(Species~.,data=train,method="knn",metric=metric,trControl=cv)
In [60]:
#SVM
In [61]:
fit.svm<-train(Species~.,data=train,method="svmRadial",metric=metric,trControl=cv)
In [62]:
#Rf
In [63]:
fit.rf<-train(Species~.,data=train,method="rf",metric=metric,trControl=cv)
In [64]:
results<-resamples(list(lda=fit.lda,cart=fit.cart,knn=fit.knn,svm=fit.svm,rf=fit.rf))#检查模型是可以比较的
In [65]:
summary(results)
Out[65]:
In [66]:
dotplot(results)
In [67]:
print(fit.lda)#模型精度在97%+/-4%
In [68]:
#预测
In [69]:
predictions<-predict(fit.lda,test)
In [70]:
confusionMatrix(predictions,test$Species)#混淆矩阵,精度评价
Out[70]:
In [ ]: