C4.5算法
C4.5算法的R语言实现
#步骤1 数据集准备
library(sampling) #用于实现数据分层抽样 library(party) #用于实现决策树算法 set.seed(100) #设置随机种子 head(iris) str(iris) dim(iris) class(iris) n=round(7/10*nrow(iris)/3) #计算每个种类的抽样数目,按照每种“Species”抽取7/10个样本进行抽样 sub_train=strata(iris,stratanames="Species",size=rep(n,3),method="srswor") data_train=iris[sub_train$ID_unit,] #构造训练集 data_test=iris[-sub_train$ID_unit,] #构造测试集 dim(data_train)
dim(data_test)
#步骤2 建立模型
iris_tree=ctree(Species~.,data=data_train)
#步骤3 结果显示
plot(iris_tree)
plot(iris_tree,type="simple")
#步骤4 训练集和测试集的预测结果显示
test_pre=predict(iris_tree,newdata=data_test) table(test_pre,data_test$Species) #预测结果展示
correct=sum(as.numeric(test_pre)==as.numeric(data_test$Species))/nrow(data_test) correct #测试集准确率
table(predict(iris_tree),data_train$Species) #训练集混淆矩阵
correct=sum(as.numeric(predict(iris_tree))==as.numeric(data_train$Species))/nrow(data_train) correct #训练集准确率
本文来自博客园,作者:zhang-X,转载请注明原文链接:https://www.cnblogs.com/YY-zhang/p/15989933.html