首先,C4.5是决策树算法的一种。决策树算法作为一种分类算法,目标就是将具有p维特征的n个样本分到c个类别中去。相当于做一个投影,c=f(n),将样本经过一种变换赋予一种类别标签。决策树为了达到这一目的,可以把分类的过程表示成一棵树,每次通过选择一个特征pi来进行分叉。

那么怎样选择分叉的特征呢?每一次分叉选择哪个特征对样本进行划分可以最快最准确的对样本分类呢?不同的决策树算法有着不同的特征选择方案。ID3用信息增益,C4.5用信息增益率,CART用gini系数。

下面主要针对C4.5算法,我们用一个例子来计算一下。

上述数据集有四个属性,属性集合A={ 天气,温度,湿度,风速}, 类别标签有两个,类别集合L={进行,取消}。

1. 计算类别信息熵

类别信息熵表示的是所有样本中各种类别出现的不确定性之和。

C4.5算法详解(非常仔细)相关推荐

  1. c4.5算法 程序语言,决策树之C4.5算法详解-Go语言中文社区

    决策树之C4.5算法详解 主要内容 C4.5算法简介 分裂属性的选择--信息增益率 连续型属性的离散化处理 剪枝--PEP(Pessimistic Error Pruning)剪枝法 缺失属性值的处理 ...

  2. 决策树C4.5算法详解

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zjsghww/article/details/51638126 首先,C4.5是决策树算法的一种.决 ...

  3. Popular Cows POJ - 2186(tarjan算法)+详解

    题意: 每一头牛的愿望就是变成一头最受欢迎的牛.现在有 N头牛,给你M对整数(A,B),表示牛 A认为牛B受欢迎.这种关系是具有传递性的,如果 A认为 B受欢迎, B认为 C受欢迎,那么牛 A也认为牛 ...

  4. md5与des算法有何不同_Python算法详解:为什么说算法是程序的灵魂?

    算法是程序的灵魂,只有掌握了算法,才能轻松地驾驭程序开发.软件开发工作不是按部就班,而是选择一种最合理的算法去实现项目功能.算法能够引导开发者在面对一个项目功能时用什么思路去实现,有了这个思路后,编程 ...

  5. LDA主题模型(算法详解)

    LDA主题模型(算法详解) http://blog.csdn.net/weixin_41090915/article/details/79058768?%3E 一.LDA主题模型简介 LDA(Late ...

  6. java制作海报一:java使用Graphics2D 在图片上写字,文字换行算法详解

    文章目录 前言 一.直接上代码 1. 写字方法 2. 换行算法 二. 叙述换行算法 前言 代码都上传到GitHub了,这里仅仅是贴出来主要部分,GitHub传送门:https://github.com ...

  7. 隐马尔可夫模型之Baum-Welch算法详解

    隐马尔可夫模型之Baum-Welch算法详解 前言 在上篇博文中,我们学习了隐马尔可夫模型的概率计算问题和预测问题,但正当要准备理解学习问题时,发现学习问题中需要EM算法的相关知识,因此,上一周转而学 ...

  8. Apollo6.0代码Lattice算法详解——Part5: 生成横纵向轨迹

    Apollo6.0代码Lattice算法详解--Part5: 生成横纵向轨迹 0.前置知识 1.涉及主要函数 2.函数关系 3.部分函数代码详解 3.1 lattice_planner.cc中代码部分 ...

  9. 离线强化学习(Offline RL)系列3: (算法篇) Onestep 算法详解与实现

    [更新记录] 论文信息: David Brandfonbrener, William F. Whitney, Rajesh Ranganath, Joan Bruna: "Offline R ...

最新文章

  1. 浅析:精密空调能耗超高的原因!
  2. java 同步锁_java线程中的同步锁和互斥锁有什么区别?
  3. 误执行了rm -fr /*之后,除了跑路还能怎么办?!
  4. android 图标自动更新,android手机安装软件后会生成图标,但今后更新该软件图标都不会变化,如何使图标变成最新版的图标?...
  5. 【渝粤教育】电大中专电商运营实操 (8)作业 题库
  6. 2015-10-15 css3
  7. JavaScript中的原型和对象机制
  8. spark stage 划分 源码
  9. JS模拟实现数组的map方法
  10. 【不懂就问】ROST EA情感分析软件怎么操作
  11. nat流量,业务流量_10种增加在线业务流量的方法
  12. excel 错位插入_excel表格错位怎么解决?excel数据错位
  13. Sftp和ftp 区别、工作原理等(汇总ing)
  14. ensp路由器启动显示错误40
  15. SQL中DDL语句(数据表定义语言)
  16. java opencv 去噪,opencv教程-图像去噪与修复
  17. 未来,什么样的程序员才是不可替代的?
  18. SN74L151 八选一数据选择器 芯片连线
  19. 安卓软件开发进阶之工具也疯狂
  20. JavaScript Extensible Attributes 常用匹配方法

热门文章

  1. 5G科普——什么是NFV
  2. 2013年jQuery Validation Engine 表单验证
  3. 统一管理邮箱,免费开启雅虎POP3
  4. tcpdump抓包详解
  5. 关于计算机的英语手抄报简单,最简单的英语手抄报图片大全_英语简单手抄报的图片...
  6. python漂亮gui界面模板下载_Python GUI教程(十六):在PyQt5中美化和装扮图形界面...
  7. PowerEdge T630服务器安装机器学习环境(Ubuntu18.04、Nvidia 1080Ti驱动、CUDA及CUDNN安装)
  8. 民航局回应机票高价退改签;谷歌无人车再出事故;瑞典取消诺贝尔文学奖丨价值早报...
  9. 手动SQL注入(盲注)讲解
  10. 使用CXF开发webService客户端