【课件】08-2第八章机器学习-决策树ID3算法的实例解析PPT
- 格式:ppt
- 大小:296.01 KB
- 文档页数:52
决策树_ID3算法决策树是一种用于分类和预测的机器学习算法,其中ID3(Iterative Dichotomiser 3)是一种常用的决策树算法。
ID3算法通过选择最佳特征将数据集划分为更小的子集,直到达到预定的条件或者无法进一步划分为止。
在此过程中,它使用信息增益来选择最佳划分特征。
ID3算法的核心思想是利用信息增益来判断每个特征的重要性。
信息增益是指在划分数据前后的熵的差值,熵表示数据的混乱程度。
熵越大,数据越混乱,熵越小,数据越有序。
在决策树中,我们希望选择使得熵减最大的特征作为划分依据,即信息增益最大的特征。
以下是ID3算法的具体步骤:3. 计算数据集的熵。
熵的计算公式为:E(S) = -p1*log2(p1) -p2*log2(p2) - ... - pn*log2(pn),其中pi表示数据集中属于类别i的实例占总实例数的比例。
4.对于每个特征,计算划分后的熵和信息增益,并选择信息增益最大的特征作为划分依据。
5.根据选择的特征将数据集进行划分,形成子集。
6.递归地对每个子集应用上述步骤,生成决策树的左右子树。
7.返回决策树。
ID3算法的优点是简单易懂,效率高,在处理具有大量特征的数据集时也能取得较好的结果。
然而,由于ID3算法倾向于选择具有较多取值的特征作为划分依据,可能导致生成的决策树过于复杂,容易出现过拟合现象。
此外,ID3算法只能处理离散型特征,无法处理连续型特征。
为了解决ID3算法的缺点,后续的决策树算法如C4.5和CART进行了改进。
C4.5算法在ID3算法基础上引入了对连续型特征的处理,同时使用信息增益比来选择划分特征。
CART算法则使用基尼指数来衡量划分的质量,划分后的熵越小,基尼指数越小,表示数据越有序。
综上所述,决策树算法是一种基于特征选择的分类和预测方法,其中ID3算法通过信息增益选择最佳特征进行划分。
ID3算法简单有效,但有部分局限性。
进一步改进的决策树算法能够处理连续型特征和更好地提高划分的质量。
机器学习-决策树之ID3算法概述决策树(Decision Tree)是⼀种⾮参数的有监督学习⽅法,它是⼀种树形结构,所以叫决策树。
它能够从⼀系列有特征和标签的数据中总结出决策规则,并⽤树状图的结构来呈现这些规则,以解决分类和回归问题。
决策树算法容易理解,适⽤各种数据,在解决各种问题时都有良好表现,尤其是以树模型为核⼼的各种集成算法,在各个⾏业和领域都有⼴泛的应⽤。
决策树的核⼼有三种算法:ID3:ID3 是最早提出的决策树算法,他就是利⽤信息增益来选择特征的。
C4.5:他是 ID3 的改进版,他不是直接使⽤信息增益,⽽是引⼊“信息增益⽐”指标作为特征的选择依据。
CART:这种算法即可以⽤于分类,也可以⽤于回归问题。
CART 算法使⽤了基尼系数取代了信息熵模型。
ID3算法是本教程的重点要讲的内容,其余两种算法将会后续推出。
数据集下⾯举个例⼦,会使⽤ID3算法帮助我们判断今天的天⽓适不适合出去打球。
进⾏判断之前,需要历史天⽓数据和打球活动数据,以下为历史数据集S。
天数天⽓⽓温湿度风⼒是否打球D1晴朗热湿弱否D2晴朗热湿强否D3⼤⾬热湿弱是D4⼩⾬中等湿弱是D5⼩⾬凉爽正常弱是D6⼩⾬凉爽正常强否D7⼤⾬凉爽正常强是D8晴朗中等湿弱否D9晴朗凉爽正常弱是D10⼩⾬中等正常弱是D11晴朗中等正常强是D12⼤⾬中等湿强是D13⼤⾬热正常弱是D14⼩⾬中等湿强否ID3算法ID3算法会选择当前信息增益最⼤的特征作为树中新的节点。
计算过程如下:步骤1假设S为完整的数据集,数据标签(数据类别)共有n个类别,分别为C1,...,Cn。
Si对应Ci类别下数据⼦集,因此,数据集S的信息熵计算如下:\[Entropy(S)=-\sum_{i=1}^{n}p_{i}\log_{2}{p_{i}} \]其中,pi是数据样本为Ci的概率,因此:\[p_i=\frac{|S_i|}{|S|} \]|Si|是类别Ci在数据集S中的数据数量,|S|是数据集S中的数据数量。
机器学习--决策树(ID3)算法及案例1基本原理决策树是一个预测模型。
它代表的是对象属性与对象值之间的一种映射关系。
树中每个节点表示某个对象,每个分支路径代表某个可能的属性值,每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。
一般情况下,决策树由决策结点、分支路径和叶结点组成。
在选择哪个属性作为结点的时候,采用信息论原理,计算信息增益,获得最大信息增益的属性就是最好的选择。
信息增益是指原有数据集的熵减去按某个属性分类后数据集的熵所得的差值。
然后采用递归的原则处理数据集,并得到了我们需要的决策树。
2算法流程检测数据集中的每个子项是否属于同一分类:If 是,则返回类别标签;Else计算信息增益,寻找划分数据集的最好特征划分数据数据集创建分支节点(叶结点或决策结点)for 每个划分的子集递归调用,并增加返回结果到分支节点中return 分支结点算法的基本思想可以概括为:1)树以代表训练样本的根结点开始。
2)如果样本都在同一个类.则该结点成为树叶,并记录该类。
3)否则,算法选择最有分类能力的属性作为决策树的当前结点.4 )根据当前决策结点属性取值的不同,将训练样本根据该属性的值分为若干子集,每个取值形成一个分枝,有几个取值形成几个分枝。
匀针对上一步得到的一个子集,重复进行先前步骤,递归形成每个划分样本上的决策树。
一旦一个属性只出现在一个结点上,就不必在该结点的任何后代考虑它,直接标记类别。
5)递归划分步骤仅当下列条件之一成立时停止:①给定结点的所有样本属于同一类。
②没有剩余属性可以用来进一步划分样本.在这种情况下.使用多数表决,将给定的结点转换成树叶,并以样本中元组个数最多的类别作为类别标记,同时也可以存放该结点样本的类别分布[这个主要可以用来剪枝]。
③如果某一分枝tc,没有满足该分支中已有分类的样本,则以样本的多数类生成叶子节点。
算法中2)步所指的最优分类能力的属性。
这个属性的选择是本算法种的关键点,分裂属性的选择直接关系到此算法的优劣。