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

转载于:https://blog.51cto.com/skyme/1626918

跟我一起数据挖掘(23)——C4.5相关推荐

  1. 数据挖掘之C4.5决策树算法

    1.决策树算法实现的三个过程: 特征选择:选择哪些特征作为分类的标准是决策树算法的关键,因此需要一种衡量标准来进行特征的确定,不同的决策树衡量标准不同.例如C4.5决策树就是以信息增益率来作为衡量标准 ...

  2. 数据挖掘--决策树C4.5算法(例题)

    C4.5算法与ID3算法的不同点: (1)分支指标采用增益比例 (2)数值属性的处理 (3)处理缺少属性值的训练样本 (4)使用K次迭代交叉验证,评估模型的优劣程度: (5)根据生成的决策树,可以产生 ...

  3. oracle11 aud,oracle11g AUD$维护

    SYSTEM表空间使用率达到了85%,查出是用来记录审计记录的aud$表占用了很大的空间. 备份后truncate掉AUD$,问题临时解决.记得oracle11.2可以把aud$迁移到普通的表空 间. ...

  4. New Internet:大数据挖掘

    NewInternet:大数据挖掘(来自一线大数据挖掘企业的一手实战剖析) 谭磊 著 ISBN978-7-121-19670-6 2013年3月出版 定价:69.00元 376页 16开 编辑推荐 & ...

  5. 《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 4 章 答案

    判断对错 1.利用 grAphiCs.py 可以在 Python 的 shell 窗口中绘制图形. 2.传统上,图形窗口的左上角坐标为(0,0). 3.图形屏幕上的单个点称为像素. 4.创建类的新实例 ...

  6. CentOS7开发环境搭建(1)

    文章目录 BIOS开启VT支持 U盘安装系统(2019-03-11) CentOS DNS配置 CentOS网络配置 配置静态IP 克隆虚拟机网卡名称变更 CentOS6.5 时间配置 安装VMWar ...

  7. android 颜色透明度16进制换算

    Android中的颜色值通常遵循RGB/ARGB标准,使用时通常以"#"字符开头,以16进制表示. 透明度 (透明)0 –> 255(不透明) 对应着16进制 (透明)00 ...

  8. 颜色不透明度 对应表

    不透明度-十六进制值 100% - FF(完全不透明) 99% - FC 98% - FA 97% - F7 96% - F5 95% - F2 94% - F0 93% - ED 92% - EB ...

  9. vulnstack_ATTCK1渗透

    一,靶机描述 红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博客三位一体学习.另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环.后续也会搭建真实APT ...

  10. rgb 与 #开头16进制 HEX颜色值关系转换,颜色值透明度的百分数对应十六进制表

    1.0x开头与#开头 从计算机的数值表示上讲,0x开头的其实并不是所谓颜色代码的表示方法,而是16进制数的标准写法,譬如0xA就是十进制的10.而**#开头**的六(或三)位十六进制数是在设计领域(如 ...

最新文章

  1. Java8 快速实现List转map 、分组、过滤等操作
  2. 2021-03-26习题4-7 最大公约数和最小公倍数 (15 分)
  3. android o wifi 感知,Android上的Wifi感知与Wifi P2P之间有何区别?
  4. Apicloud自定义模块
  5. html同时执行多个ajax,Ajax方法详解以及多个Ajax并发执行
  6. [JavaScript编程练习]js获取文字中的100,使其变为红色,若文字100改为其他任意数字,该数字依然会是红色
  7. cascade rcnn论文总结
  8. Mysql主从知识扩展部分1
  9. greenplum小版本升级
  10. 代码在线执行工具(PHP,Java,C++ 等)
  11. 【代码】eclipse搭建ssm框架所需约束
  12. 地址转经纬度(百度)function
  13. 5、蓝桥杯之手机尾号评分
  14. Macos 安装MacTex SublimeText3 Skim环境
  15. HTML 利用 Web Audio API 进行音频可视化
  16. 舞象云出席泰华商城智慧营销系统上线发布会,问道传统百货新未来
  17. 在 stm32CubeMX下生成程序完成流水灯以及完成STM32的USART串口通讯程序实现STM32系统给上位机(win10)连续发送“hello windows”
  18. 实时操作系统和分时操作系统的区别
  19. 十本Android开发学习书籍下载链接
  20. libtool使用方法

热门文章

  1. 产品经理如何搞定程序员
  2. 线程如何同步?如何使用同步方法?
  3. 洛谷4577 LOJ2521:[FJOI2018]领导集团问题——题解
  4. RPC和MQ对比及其适用/不适用场合
  5. 优先级队列之PriorityQueue
  6. 【Codeforces811E】Vladik and Entertaining Flags [线段树][并查集]
  7. Django中间件简析
  8. 图论 - 寻找fly真迹
  9. 【Ubuntu】在Ubuntu 12.04 LTS上安装JDK6
  10. 就算神游 之五:东京迪斯尼乐园 1