#data processing
#加载并查看R内置iris数据集(共150行,包含花萼长度、花萼宽度、花瓣长度、花瓣宽度、类别5个变量)
data(iris)
iris
#设定种子,随机取样70%行数据(105个数据样本)作为训练数据集,其余剩下30%行数据作为测试数据集
set.seed(44)
num<-sample(nrow(iris),0.7*nrow(iris))
train_data<-iris[num,]
test_data<-iris[-num,]
train_data
test_data
#SVM
#安装并加载SVM所需R包"e1071"
install.packages("e1071")
library(e1071)
#训练得到模型:用train_data来训练,选用$Species为因变量,其它所有变量为自变量
model <- svm(Species ~., train_data)
#利用test_data测试
#新建y变量记录测试数据集中每行数据所对应的鸾尾花的类别,用于SVM测试较结果的比较
y.test_data<-test_data$Species
#删去测试数据集中的类别变量数据
test_data$Species=NULL
#利用训练所得模型对测试数据集每行数据的y进行预测
y.predict<-predict(model,test_data)
#将测试数据集真实类别y与利用模型预测得到的y进行比较
y.test_data==y.predict
#y.test_data==y.predict
# [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
#[13] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE
#[25]
R语言SVM与LDA练习
最新推荐文章于 2023-04-13 09:39:13 发布