C4.5算法的R语言实践
C5.0算法是C4.5算法的延续和升级,SPSS
Modeler建模选项卡中也提供这种算法。在此,我们用R语言中的C50包所提供的C5.0函数实现C5.0算法。
第一步:加载相应包
library(C50)
## Warning: package 'C50' was built under R version 3.1.3
library(printr)
温馨提示:若是没有安装上述包,请在加载前,先安装这些包。
第二步:把iris数据集分为训练集和测试集,按着2:1划分,即训练集100个,测试集50个
train.indeces<- sample(1:nrow(iris), 100)
iris.train<- iris[train.indeces, ]
iris.test<- iris[-train.indeces, ]
第三步:构建C5.0算法模型
model.C5.0<- C5.0(Species ~ ., data = iris.train)
第四步:交叉验证,使用测试数据集测试模型
results.C5.0<- predict(object = model.C5.0, newdata = iris.test, type = 'class')
第五步:生成混淆矩阵
table(results.C5.0,iris.test$Species)
C4.5算法的原理
C4.5算法是数据挖掘算法中的一种分类决策树算法,其核心算法是ID3算法. C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:
1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;
2)在树构造过程中进行剪枝;
3)能够完成对连续属性的离散化处理;
4)能够对不完整数据进行处理。
C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。
参考文献: