ID3算法有四个主要的不足,一是不能处理连续特征,第二个就是用信息增益作为标准容易偏向于取值较多的特征,最后两个是缺失值处理和过拟合问题。

  • 对于第一个问题,不能处理连续特征, C4.5的思路是将连续的特征离散化。
  • 对于第二个问题,信息增益作为标准容易偏向于取值较多的特征的问题。引入信息增益比,特征数越多的特征对应的特征熵越大,它作为分母,可以校正信息增益容易偏向于取值较多的特征的问题。
  • 对于第三个缺失值处理的问题,主要需要解决的是两个问题,一是在样本某些特征缺失的情况下选择划分的属性,二是选定了划分属性,对于在该属性上缺失特征的样本的处理
  • 对于第一个子问题,对于某一个有缺失特征值的特征A。C4.5的思路是将数据分成两部分,对每个样本设置一个权重(初始可以都为1),然后划分数据,一部分是有特征值A的数据D1,另一部分是没有特征A的数据D2. 然后对于没有缺失特征A的数据集D1来和对应的A特征的各个特征值一起计算加权重后的信息增益比最后乘上一个系数,这个系数是无特征A缺失的样本加权后所占加权总样本的比例
  • 对于第二个子问题,可以将缺失特征的样本同时划分入所有的子节点,不过将该样本的权重按各个子节点样本的数量比例来分配。比如缺失特征A的样本a之前权重为1,特征A有3个特征值A1,A2,A3。 3个特征值对应的无缺失A特征的样本个数为2,3,4.则a同时划分入A1,A2,A3。对应权重调节为2/9,3/9, 4/9。
  • 对于第4个问题,C4.5引入了正则化系数进行初步的剪枝。

决策树C4.5算法对ID3算法的改进相关推荐

  1. 决策树-熵计算-ID3算法(转)

    今天,我来讲解的是决策树.对于决策树来说,主要有两种算法:ID3算法和C4.5算法.C4.5算法是 对ID3算法的改进.今天主要先讲ID3算法,之后会讲C4.5算法和随机森林等. Contents   ...

  2. 决策树模型 - (ID3算法、C4.5算法) - Python代码实现

    目录 算法简介 信息熵(Entropy) 信息增益(Information gain) - ID3算法 信息增益率(gain ratio) - C4.5算法 源数据 代码实现 - ID3算法 代码实现 ...

  3. 决策树决策算法ID3算法、改进算法C4.5算法和CART算法代码实现

    决策树决策算法之ID3算法 ID3算法 在决策树各个节点上应用信息增益准则选择特征,每一次都选择是的信息增益最大的特征进行分裂,递归的构建决策树 具体计算可以参考 决策常用算法数学计算过程 ID3代码 ...

  4. 决策树(1)——ID3算法与C4.5算法的理论基础与python实现

    1.前言   决策树是一种常用的机器学习算法,既可以做分类任务也可以做回归任务,本文主要讨论用于分类任务的决策树.决策树与数据结构中的树相同,也是由一个根结点.若干个内部结点和若干个叶结点构成.这里我 ...

  5. 【机器学习基础】数学推导+纯Python实现机器学习算法4:决策树之ID3算法

    Python机器学习算法实现 Author:louwill 作为机器学习中的一大类模型,树模型一直以来都颇受学界和业界的重视.目前无论是各大比赛各种大杀器的XGBoost.lightgbm还是像随机森 ...

  6. 决策树C4.5算法 c语言实现,数据挖掘十大经典算法(1) C4.5_决策树算法

    数据挖掘十大经典算法(1) C4.5_决策树算法 机器学习中,决策树是一个预测模型:他代表的是对象属性与对象值之间的一种映射关系.树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每 ...

  7. 机器学习——使用ID3算法从原理到实际举例理解决策树

    文章目录 一.什么是决策树 二.介绍建立决策树的算法 三.决策树的一般流程 四.实际举例构建决策树 使用ID3算法的原理实现构建决策树 参考链接 一.什么是决策树 基本概念 决策树是一种树形结构,其组 ...

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

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

  9. id3决策树_信息熵、信息增益和决策树(ID3算法)

    决策树算法: 优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关的特征数据. 缺点:可能会产生过度匹配问题. 适用数据类型:数值型和标称型. 算法原理: 决策树是一个简单的为 ...

  10. 自编程实现决策树(使用ID3算法)

    自编程实现决策树(使用ID3算法) 不使用sklearn中的决策树方法,根据以下数据集自己编写决策树构建程序(建议用python语言). Tid Refund Marital Status Taxab ...

最新文章

  1. startActivityForResult和setResult详解
  2. converter 迁移xen server 上的虚拟机 到 wmware esxi
  3. python json
  4. 编写java实用工具-针对未压缩的pdf转word,(java实现),压缩过的pdf勿进
  5. 研发管理:产品研发团队的早会
  6. 数据结构实践项目——图的基本运算及遍历操作
  7. 转载:字符串的驻留(String Interning)
  8. Service服务学习(SimpleRandomServiceDemo)
  9. pyecharts折线图坐标轴范围设置_多层折线图,一对一展现数据趋势,图表就应如此美丽...
  10. 郑职院官计算机网络,2020年陕西省青年职业技能大赛计算机网络管理员决赛开幕式在汉中职院举行...
  11. 华为云nbiot接入示例_nbiot
  12. 基于WPS开放平台 WPS文件转PDF开发指南
  13. 计算机知识竞赛拉赞助,知识竞赛活动方案策划书
  14. C语言,函数没有return,返回类型就是void的么?
  15. day08学习 Python文件函数、CSV文件读写
  16. badboy安装及使用
  17. java zip压缩解压_JAVA实现实用的ZIP压缩与解压
  18. 高防服务器的适用场景
  19. 考研专业课c语言与数据结构,南开大学816 C语言与数据结构2018考研专业课大纲...
  20. Hive建表时,指定分隔符

热门文章

  1. 使用systemd来构建你的服务
  2. Linux中命令行终端切换工具screen
  3. Redis 集群(学习笔记十)
  4. Oracle 归档模式的打开及关闭
  5. 操作系统学习笔记:内存管理
  6. Spring Boot入门(4)-事务管理
  7. java博客二级菜单的实现
  8. xml property标签注入一个类变量_依赖注入的学习
  9. uid_t gid_t等的定义
  10. PAT 乙级A1025 适合当算法入门练习题做