1.基本概念

  1)定义:

  决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系,树中每个节点代表的某个可能的属性值。

  2)表示方法:

  通过把实例从根结点排列到某个叶子结点来分类实例,叶子结点即为实例所属的分类。树上的每一个结点指定了对某个属性的测试,并在该结点的每一个后继分支对应于该属性的一个可能值。

  

  3)决策树适用问题:

  a.实例是由‘属性-值’对表示的

  b.目标函数具有离散的输出值

  c.可能需要十析取的描述

  d.训练数据可以包含错误

  e.训练数据可以包含缺少属性值的实例

2.ID3:自顶向下的贪婪搜索遍历可能的决策树空间。

  1)用熵度量样例的均一性:

  

  S为样例集,c表示属性的个数,pi表示第i个属性值在样例集合中的比例,采用以2为底的对数是因为熵是以二进制位的个数来度量编码长度。

  2)用信息增量度量期望的熵降低:

  

  A表示某个属性值,values(A)表示A属性的所有可能Sv 是S中属性为A的值为v的子集

  3)ID3特征:

  a.假设空间包含所有的决策树,是关于有限属性的一个完整空间

  b.遍历整个空间时,只维护当前单一的假设,失去了考虑所有假设带来的一致性测试

  c.在搜索过程中不回溯,因此只收敛到局部最优,而不是全局最优

  d.每一步搜索都使用所有训练样例,以统计为基础决定精化当前假设

  e.ID3的归纳偏置:较短的树比较长的树优先,即:信息增益高的属性更靠近根结点的树优先(奥坎姆剃刀:优先选择拟合数据的最简单假设)

3.C4.5

  1)对ID3的改进:

  a.用信息增益率来作属性的选择

  b.进行后规则剪枝

  c.可以对离散数据进行处理

  d.可以对缺失属性数据进行处理

  2)分裂信息度量:用来衡量属性分裂数据的广度和均匀

  

  3)信息增益率:作属性选择

  

4.源码:

  1)ID3:

  https://github.com/Ares08/ID3-Machine-Learning-Algorithm

  2)C4.5:

  https://github.com/Ares08/C4.5

  

决策树:ID3与C4.5算法的更多相关文章

  1. 机器学习总结(八)决策树ID3,C4.5算法,CART算法

    本文主要总结决策树中的ID3,C4.5和CART算法,各种算法的特点,并对比了各种算法的不同点. 决策树:是一种基本的分类和回归方法.在分类问题中,是基于特征对实例进行分类.既可以认为是if-then ...

  2. 《机器学习实战》学习笔记第三章 —— 决策树之ID3、C4.5算法

    主要内容: 一.决策树模型 二.信息与熵 三.信息增益与ID3算法 四.信息增益比与C4.5算法 五.决策树的剪枝 一.决策树模型 1.所谓决策树,就是根据实例的特征对实例进行划分的树形结构.其中有两 ...

  3. 决策树(ID3、C4.5、CART)

    ID3决策树 ID3决策树分类的根据是样本集分类前后的信息增益. 假设我们有一个样本集,里面每个样本都有自己的分类结果. 而信息熵可以理解为:“样本集中分类结果的平均不确定性”,俗称信息的纯度. 即熵 ...

  4. 机器学习之决策树(ID3 、C4.5算法)

    声明:本篇博文是学习<机器学习实战>一书的方式路程,系原创,若转载请标明来源. 1 决策树的基础概念 决策树分为分类树和回归树两种,分类树对离散变量做决策树 ,回归树对连续变量做决策树.决 ...

  5. 小啃机器学习(1)-----ID3和C4.5决策树

    第一部分:简介 ID3和C4.5算法都是被Quinlan提出的,用于分类模型,也被叫做决策树.我们给一组数据,每一行数据都含有相同的结构,包含了一系列的attribute/value对. 其中一个属性 ...

  6. 决策树-预测隐形眼镜类型 (ID3算法,C4.5算法,CART算法,GINI指数,剪枝,随机森林)

    1. 1.问题的引入 2.一个实例 3.基本概念 4.ID3 5.C4.5 6.CART 7.随机森林 2. 我们应该设计什么的算法,使得计算机对贷款申请人员的申请信息自动进行分类,以决定能否贷款? ...

  7. 决策树之ID3、C4.5、C5.0等五大算法

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- C5.0决策树之ID3.C4.5.C5.0算法 ...

  8. 决策树之C4.5算法

    决策树之C4.5算法 一.C4.5算法概述 C4.5算法是最常用的决策树算法,因为它继承了ID3算法的所有优点并对ID3算法进行了改进和补充. 改进有如下几个要点: 用信息增益率来选择属性,克服了ID ...

  9. 【Machine Learning in Action --3】决策树ID3算法

    1.简单概念描述 决策树的类型有很多,有CART.ID3和C4.5等,其中CART是基于基尼不纯度(Gini)的,这里不做详解,而ID3和C4.5都是基于信息熵的,它们两个得到的结果都是一样的,本次定 ...

随机推荐

  1. 【BZOJ4837】LRU算法 [模拟]

    LRU算法 Time Limit: 6 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description 小Q同学在学习操作系统中内存管理的 ...

  2. 【游记】NOIP 2017

    时间:2017.11.11~2017.11.12 地点:广东省广州市第六中学 Day1 T1:看到题目,心想这种题目也能放在T1? 这个结论我之前遇到过至少3次,自己也简单证明过.初见是NOIP200 ...

  3. 【NOIP】提高组2012 vigenere密码

    [算法]模拟 #include<cstdio> #include<cstring> ; char sm[maxm],key[maxm],s[maxm]; int len,len ...

  4. JS对象操作

    一.String常用操作 1.截取 substr(start,length) //返回从指定位置开始的指定长度的字符串. substring(start,end) //返回两个指定的位置之间的字符串. ...

  5. Windows Resizer

    Windows ResizerWindows Resizer是chrome浏览器插件,可以调整视口大小

  6. Java常用开发思想与知识点小记(一)

    1.   子类在覆盖父类的方法时,不能抛出比父类更多的异常(儿子不能比父亲干更多的坏事),所以只能捕捉异常,通常在web层捕获异常,给用户一个友好提示. 2.Java内存模型与并发编程三个特性 htt ...

  7. 【UOJ#164】清华集训2015V

    QwQzcysky真是菜死了,这是我刚上高一的时候坤爷在夏令营讲的,可是今天才切掉…… 想想也神奇,一个2016.11才学会线段树的菜鸡,夏令营的时候居然听过Segment-Tree-Beats? 所 ...

  8. node.js3

    第一部分:express(MVC) 1.下载express npm install express --save 2.引入express require('express') 中间件 body-par ...

  9. Java初次见面

    1.Java语言特点(运行环境JRE[操作系统,api,dll]): a.跨平台:Java自带的虚拟机很好地实现了跨平台性.Java源程序代码经过编译后生成二进制的字节码是与平台无关的,但是可被Jav ...

  10. js判断文件格式及大小

      //判断照片大小 function getPhotoSize(obj){     photoExt=obj.value.substr(obj.value.lastIndexOf(".&q ...