跟我一起数据挖掘(23)——C4.5
来源:互联网 发布:java中文相似度匹配 编辑:程序博客网 时间:2024/05/17 05:16
C4.5简介
C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类。C4.5的目标是通过学习,找到一个从属性值到类别的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。
由于ID3算法在实际应用中存在一些问题,于是Quinlan提出了C4.5算法,严格上说C4.5只能是ID3的一个改进算法。
C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:
1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;
2) 在树构造过程中进行剪枝;
3) 能够完成对连续属性的离散化处理;
4) 能够对不完整数据进行处理。
C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。此外,C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。
C4.5的分类器示意图
我们以一个很典型被引用过多次的训练数据集D为例,来说明C4.5算法如何计算信息增益并选择决策结点。
由其中四个属性来决定是否进行活动还是取消活动。上面的训练集有4个属性,即属性集合A={OUTLOOK, TEMPERATURE, HUMIDITY, WINDY};而类标签有2个,即类标签集合C={Yes, No},分别表示适合户外运动和不适合户外运动,其实是一个二分类问题。
C4.5的优缺点及算法流程
C4.5算法的优点是:产生的分类规则易于理解,准确率较高。
C4.5算法的缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。
C4.5的算法流程:
DEMO示例
算法测试:
https://github.com/zongtui/zongtui-Algorithm-test
- 跟我一起数据挖掘(23)——C4.5
- 跟我一起数据挖掘(21)——redis
- 跟我一起数据挖掘(18)——什么是数据挖掘(1)
- 跟我一起数据挖掘(20)——网站日志挖掘
- 数据备份——PHP
- 跟我一起数据挖掘(19)——什么是数据挖掘(2)
- 如何拯救你——我的IE
- 那就是我——大名鼎鼎的C++缪博士
- 跟我一起数据挖掘(1)——建立数据仓库的意义
- 数据挖掘C4.5读后感
- 数据挖掘-C4.5算法
- .NET正则基础之——正则委托(转)
- Zigbee入门指导(二)——运行Zigbee例程
- Zigbee入门指导(二)——运行Zigbee例程
- Zigbee入门指导(二)——运行Zigbee例程
- Zigbee入门指导(二)——运行Zigbee例程
- Zigbee入门指导(二)——运行Zigbee例程
- Zigbee入门指导(二)——运行Zigbee例程
- Android: ViewDragHelper tutorial
- window脚本部署web程序到tomcat中
- Unity学习笔记——逐字显示一首诗
- HDU_1394_线段树_树状数组
- 有符号数与无符号数的运算
- 跟我一起数据挖掘(23)——C4.5
- js maxLength ie和谷歌火狐区分大小写
- AFN传文件和参数
- POJ1743---Musical Theme(后缀数组+二分)
- 归并排序求逆序数(POJ 1804,POJ 2299,HDU 4911)
- Remove Duplicates from Sorted List II--LeetCode
- 机器学习实战-k近邻算法
- Coderforces Round #296(DIV.2)
- 记忆化搜索 hdu 1331