机器学习算法实现(二):C4.5

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算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。

参考文献:

http://www.360doc.com/userhome.aspx?userid=26290960&cid=10

你可能感兴趣的:(机器学习算法实现(二):C4.5)