博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
跟我一起数据挖掘(23)——C4.5
阅读量:6610 次
发布时间:2019-06-24

本文共 781 字,大约阅读时间需要 2 分钟。

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示例

算法测试:

转载地址:http://xoiso.baihongyu.com/

你可能感兴趣的文章
Lerp和SmoothDamp比较
查看>>
安卓生成二维码 ==。以及中文乱码问题
查看>>
【iOS-Android开发对照】 之 APP入口
查看>>
如何做优化,UITabelView才能更加顺滑 (转载)
查看>>
Mysql性能优化
查看>>
JS中函数的 this 各种指向
查看>>
jenkins2 插件安装
查看>>
Mysql 创建表时错误:Tablespace for table `tablexx` exists. Please DISCARD the tablespace before IMPORT....
查看>>
一起学微软Power BI系列-使用技巧(3)Power BI安卓手机版安装与体验
查看>>
diff详解,读懂diff结果
查看>>
一次数据库优化的对话
查看>>
css2.1实现图片添加阴影效果
查看>>
【HDU 1021】Fibonacci Again(找规律)
查看>>
PASCAL知识
查看>>
Python爬虫之Urllib库的基本使用
查看>>
SQL语句大小写是否区分的问题,批量修改整个数据库所有表所有字段大小写
查看>>
如何实现shell并发 一个入门级可控多线程shell脚本方案
查看>>
python字典里的update函数
查看>>
设计模式那点事--工厂方法模式
查看>>
Android Context 上下文 你必须知道的一切
查看>>