决策树:ID3与C4.5算法
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算法的更多相关文章
- 机器学习总结(八)决策树ID3,C4.5算法,CART算法
本文主要总结决策树中的ID3,C4.5和CART算法,各种算法的特点,并对比了各种算法的不同点. 决策树:是一种基本的分类和回归方法.在分类问题中,是基于特征对实例进行分类.既可以认为是if-then ...
- 《机器学习实战》学习笔记第三章 —— 决策树之ID3、C4.5算法
主要内容: 一.决策树模型 二.信息与熵 三.信息增益与ID3算法 四.信息增益比与C4.5算法 五.决策树的剪枝 一.决策树模型 1.所谓决策树,就是根据实例的特征对实例进行划分的树形结构.其中有两 ...
- 决策树(ID3、C4.5、CART)
ID3决策树 ID3决策树分类的根据是样本集分类前后的信息增益. 假设我们有一个样本集,里面每个样本都有自己的分类结果. 而信息熵可以理解为:“样本集中分类结果的平均不确定性”,俗称信息的纯度. 即熵 ...
- 机器学习之决策树(ID3 、C4.5算法)
声明:本篇博文是学习<机器学习实战>一书的方式路程,系原创,若转载请标明来源. 1 决策树的基础概念 决策树分为分类树和回归树两种,分类树对离散变量做决策树 ,回归树对连续变量做决策树.决 ...
- 小啃机器学习(1)-----ID3和C4.5决策树
第一部分:简介 ID3和C4.5算法都是被Quinlan提出的,用于分类模型,也被叫做决策树.我们给一组数据,每一行数据都含有相同的结构,包含了一系列的attribute/value对. 其中一个属性 ...
- 决策树-预测隐形眼镜类型 (ID3算法,C4.5算法,CART算法,GINI指数,剪枝,随机森林)
1. 1.问题的引入 2.一个实例 3.基本概念 4.ID3 5.C4.5 6.CART 7.随机森林 2. 我们应该设计什么的算法,使得计算机对贷款申请人员的申请信息自动进行分类,以决定能否贷款? ...
- 决策树之ID3、C4.5、C5.0等五大算法
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- C5.0决策树之ID3.C4.5.C5.0算法 ...
- 决策树之C4.5算法
决策树之C4.5算法 一.C4.5算法概述 C4.5算法是最常用的决策树算法,因为它继承了ID3算法的所有优点并对ID3算法进行了改进和补充. 改进有如下几个要点: 用信息增益率来选择属性,克服了ID ...
- 【Machine Learning in Action --3】决策树ID3算法
1.简单概念描述 决策树的类型有很多,有CART.ID3和C4.5等,其中CART是基于基尼不纯度(Gini)的,这里不做详解,而ID3和C4.5都是基于信息熵的,它们两个得到的结果都是一样的,本次定 ...
随机推荐
- [LeetCode] 16. 3Sum Closest ☆☆☆
Given an array S of n integers, find three integers in S such that the sum is closest to a given num ...
- js对数组的常用操作
在js中对数组的操作是经常遇到的,我呢在这就列一下经常用到的方法 删除数组中的元素: 1.delete方法:delete删除的只是数组元素的值,所占的空间是并没有删除的 代码: var arr=[12 ...
- c# delegate知识
一.引用方法 委托是寻址方法的.NET版本.委托是类型安全的类,它定义了返回类型和参数的类型.委托是对方法的引用,也可以对多个方法进行引用,委托可以理解为指向方法地址的指针. 如:delegate i ...
- aio 爬虫,去重,入库
#aio 爬虫,去重,入库 import asyncio import aiohttp import aiomysql import re from pyquery import PyQuery st ...
- tensorflow常用函数解析
一.tf.transpose函数的用法 tf.transpose(input, [dimension_1, dimenaion_2,..,dimension_n]):这个函数主要适用于交换输入张量的不 ...
- vmware安装ubuntu " Intel VT-x 处于禁用状态"
vmware安装ubuntu " Intel VT-x 处于禁用状态" http://jingyan.baidu.com/article/fc07f98976710e12ffe51 ...
- Bit banging
Bit banging Bit banging is a technique for serial communications using software instead of dedicated ...
- 判断cookie创建的时间是否已经24小时
def read_cookie(self): cookiesfilepath="cookies%s" % self.uid if os.path.exists(cookiesfil ...
- C后端设计开发 - 第3章-气功-原子锁线程协程
正文 第3章-气功-原子锁线程协程 后记 如果有错误, 欢迎指正. 有好的补充, 和疑问欢迎交流, 一块提高. 在此谢谢大家了. 童话镇 - http://music.163.com/#/m/song ...
- #error This file was generated by a newer version of protoc
pattern@pattern89:/raid0/workspace/houjun/caffe-ssd$ sudo make all -j8PROTOC src/caffe/proto/caffe.p ...