鸢尾花卉数据集Iris是一类多重变量分析的数据集。通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类
针对iris数据集实践决策树算法(C4.5、C5.0),并用交叉矩阵评估模型
iris数据RStudio系统自带
Gary<-iris #建立决策树模型,来预测鸢尾花的种类 #重命名变量名,将预测鸢尾花卉转换为class 通过前四个变量预测class属于哪一个类 Gary.names<-c('sepal length','sepal width','petal length','petal width', 'class') names(Gary)<-Gary.names #查看维度 150条数据 5维变量 dim(Gary) #str()查看数据框中每个变量的属性 str(Gary) #summary()提供最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计 summary(Gary) #设定生成随机数的种子,种子是为了让结果具有重复性 set.seed(1) #将数据集拆分为训练集和测试集,拆分比例为0.75 index<-sample(nrow(Gary),0.75*nrow(Gary),replace = F) train<-Gary[index,] test<-Gary[-index,] library(C50) #训练数据用于建立决策树模型 #测试集用于模型评估 mod<-C5.0(train[,-5],train[,5]) summary(mod) #预测模型 pre1<-predict(mod,newdata=test,type='class') tab<-table(pre1,test$class) tab sum(diag(tab))/sum(tab)
实现过程