机器学习之第四章-决策树
- 格式:pptx
- 大小:5.73 MB
- 文档页数:43
机器学习--决策树算法(ID3C4.5)在⽣活中,“树”这⼀模型有很⼴泛的应⽤,事实证明,它在机器学习分类和回归领域也有着深刻⽽⼴泛的影响。
在决策分析中,决策树可以明确直观的展现出决策结果和决策过程。
如名所⽰,它使⽤树状决策模型。
它不仅仅是在数据挖掘中⽤户获取特定⽬标解的策略,同时也被⼴泛的应⽤于机器学习。
如何使⽤树来表⽰算法为此,我们考虑使⽤泰坦尼克号数据集的⽰例,以预测乘客是否会⽣存。
下⾯的模型使⽤数据集中的3个特征/属性/列,即性别,年龄和SIBSP(配偶或⼉童的数量)。
这是⼀棵体现了⼈性光辉的决策树。
树的形状是⼀棵上下颠倒的决策树,叶⼦节点在下,根节点在上。
在图像中,⿊⾊中的粗体⽂本表⽰条件/内部节点,基于树分成分⽀/边缘。
不再分裂的分⽀结束是决策/叶⼦,在这种情况下,乘客是否被死亡或幸存,分别表⽰为红⾊和绿⾊⽂本。
虽然,⼀个真实的数据集将有很多功能,这只是⼀个更⼤的树中的部分分⽀,但你不能忽略这种算法的简单性。
该特征重要性是明确的,可以轻易查看决策关系。
该⽅法更常见于来⾃数据的学习决策树,并且在树上被称为分类树,因为⽬标是将乘客分类为幸存或死亡,上⾯所展⽰的决策树就是分类树。
回归树以相同的⽅式表⽰,例如⽤于预测房⼦价格的连续价值。
通常,决策树算法被称为CART或分类和回归树。
那么,算法⽣成的背后发⽣了什么呢?如何⽣成⼀个决策树取决于选择什么特征和在何种情况下进⾏分裂,以及在什么时候停⽌。
因为⼀棵树通常是随意⽣长的,你需要修剪它,让它看起来漂亮(研究如何⽣成决策树)。
ID3算法ID3算法⽣成决策树ID3算法(Iterative Dichotomiser 3)是决策树⽣成算法的⼀种,基于奥卡姆剃⼑原理(简约原则) 1。
是Ross Quinlan发明的⼀种决策树算法,这个算法的基础就是上⾯提到的奥卡姆剃⼑原理,越是⼩型的决策树越优于⼤的决策树,尽管如此,也不总是⽣成最⼩的树型结构,⽽是⼀个启发式算法。
第二章模型评估与选择1.数据集包含1000个样本,其中500个正例,500个反例,将其划分为包含70%样本的训练集和30%样本的测试集用于留出法评估,试估算共有多少种划分方式。
一个组合问题,从500500正反例中分别选出150150正反例用于留出法评估,所以可能取150)2。
法应该是(C5002.数据集包含100个样本,其中正反例各一半,假定学习算法所产生的模型是将新样本预测为训练样本数较多的类别(训练样本数相同时进行随机猜测),试给出用10折交叉验证法和留一法分别对错误率进行评估所得的结果。
10折交叉检验:由于每次训练样本中正反例数目一样,所以讲结果判断为正反例的概率也是一样的,所以错误率的期望是5050%。
留一法:如果留下的是正例,训练样本中反例的数目比正例多一个,所以留出的样本会被判断是反例;同理,留出的是反例,则会被判断成正例,所以错误率是100%。
3.若学习器A的F1值比学习器B高,试析A的BEP值是否也比B高。
4.试述真正例率(TPR)、假正例率(FPR)与查准率(P)、查全率(R)之间的联系。
查全率: 真实正例被预测为正例的比例真正例率: 真实正例被预测为正例的比例显然查全率与真正例率是相等的。
查准率:预测为正例的实例中真实正例的比例假正例率: 真实反例被预测为正例的比例两者并没有直接的数值关系。
9.试述卡方检验过程。
第三章线性模型2.试证明,对于参数w,对率回归(logistics回归)的目标函数(式1)是非凸的,但其对数似然函数(式2)是凸的。
如果一个多元函数是凸的,那么它的Hessian矩阵是半正定的。
3.编程实现对率回归,并给出西瓜数据集3.0α上的结果/icefire_tyh/article/details/520688444.选择两个UCI数据集,比较10折交叉验证法和留一法所估计出的对率回归的错误率。
/icefire_tyh/article/details/520689005.编程实现线性判别分析,并给出西瓜数据集3.0α上的结果。
《机器学习(周志华)》笔记--决策树(1)--决策树模型、决策树简史、基本流程⼀、决策树模型 决策树(decision tree)是⼀种常⽤的机器学习⽅法,是⼀种描述对实例进⾏分类的树形结构。
决策树是⼀种常⽤的机器学习⽅法,以⼆分类为例,假设现在我们要对是否买西⽠进⾏判断和决策,我们会问⼀些问题,根据回答,我们决断是买还是不买,或者还拿补丁主意,这时会继续问问题,直到可以确定为⽌。
决策树基于“树”结构进⾏决策: (1)内部结点:属性 (2)分⽀:属性值 (3)p叶结点:分类结果 学习过程:通过对训练样本的分析来确定“划分属性”(即内部结点所对应的属性) 预测过程:将测试⽰例从根结点开始,沿着划分属性所构成的“判定测试序列”下⾏,直到叶结点 学习的过程就是通过划分属性构建决策树的过程,预测过程就是将测试样本从根节点开始,沿着划分属性构成的“判定序列”下⾏,直到叶结点。
结构举例: 从代码⾓度来看,决策树其实可以看成是⼀堆if-else语句的集合,例如引例中的决策树完全可以看成是如下代码:if isRed:if isCold:if hasSeed:print("buy")else:print("don't buy")else:if isCheap:print("buy")else:print("don't buy")else:print("don't buy") 由决策树的根结点(root node)到叶结点(leaf node)的每⼀条路径构建⼀条规则:路径上内部结点的特征对应着规则的条件,⽽叶结点的类对应着规则的结论。
决策树的路径或其对应的if-then规则集合具有⼀个重要的性质:互斥并且完备。
这就是说,每⼀个实例都被⼀条路径或⼀条规则所覆盖,⽽且只被⼀条路径或⼀条规则所覆盖。
简单说明决策树原理决策树是一种基于树形结构的分类和回归模型,它通过对训练数据进行学习来建立一个树形模型,用于预测新的数据。
决策树模型具有易于理解、易于实现、可处理离散和连续数据等优点,因此在机器学习领域得到了广泛应用。
一、决策树的基本概念1. 节点:决策树中的每个圆圈都称为一个节点,分为两种类型:内部节点和叶节点。
2. 内部节点:表示对特征进行测试的节点。
每个内部节点包含一个属性测试,将输入实例分配到其子节点中。
3. 叶节点:表示分类结果或输出结果。
在叶子结点处不再进行属性测试,每个叶子结点对应着一种类别或值。
4. 分支:表示从一个内部节点指向其子节点的箭头,代表了样本在该特征上取某个值时所走的路径。
5. 根节点:表示整棵决策树的起始点,在分类问题中代表所有样本都未被分类时所走的路径。
6. 深度:从根结点到当前结点所经过分支数目。
叶子结点深度为0。
7. 路径:从根结点到叶子结点所经过的所有分支构成的序列。
8. 剪枝:对决策树进行简化的过程,目的是减少模型复杂度,提高泛化能力。
二、决策树的生成1. ID3算法ID3算法是一种基于信息熵来进行特征选择的决策树生成算法。
它通过计算每个特征对训练数据集的信息增益来选择最优特征作为当前节点的属性测试。
具体步骤如下:(1)计算数据集D的信息熵H(D)。
(2)对于每个特征A,计算其对数据集D的信息增益Gain(A),并选择信息增益最大的特征作为当前节点的属性测试。
其中,信息增益定义为:Gain(A)=H(D)-H(D|A),其中H(D|A)表示在已知特征A时,数据集D中所包含的各个类别所占比例对应的熵值。
(3)将数据集按照选定属性划分为多个子集,并递归地生成子树。
(4)直到所有样本都属于同一类别或者没有更多可用特征时停止递归。
2. C4.5算法C4.5算法是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中的数据数量。
决策树知识点总结1. 决策树算法原理决策树算法的核心思想是通过对特征进行逐步划分,将数据集划分为不同的子集,使得每个子集内的数据尽可能属于同一类别。
在划分过程中,算法会选择一个最优的特征进行划分,使得划分后的子集的纯度最大。
通常情况下,我们会选择信息增益或基尼指数作为划分标准,以找到最优的划分特征。
决策树算法的训练过程可以分为以下几步:(1)选择最优的划分特征:通过计算每个特征的信息增益或基尼指数,选择最优的划分特征。
(2)将数据集按照最优特征进行划分:根据最优特征的取值将数据集划分为不同的子集。
(3)递归的训练子树:对划分得到的每个子集进行递归的训练,直到满足停止条件为止。
这样就可以得到一棵完整的决策树,用于对新数据进行预测。
2. 常见的决策树算法目前比较常见的决策树算法包括ID3、C4.5、CART和CHAID等。
ID3(Iterative Dichotomiser 3)算法是一种基于信息增益进行特征选择的决策树算法。
该算法在每次划分时选择信息增益最大的特征进行划分,直到所有特征都被使用或者剩余数据集中的样本属于同一类别。
C4.5算法是ID3算法的改进版,它使用信息增益比进行特征选择,解决了ID3算法可能会选择取值较多的特征进行划分的问题。
CART(Classification And Regression Tree)算法可以用于分类和回归问题,它使用基尼指数进行特征选择,对分类问题得到的决策树是二叉树结构。
CHAID(Chi-squared Automatic Interaction Detection)算法是一种基于卡方检验进行特征选择的决策树算法,适用于分类问题。
3. 决策树的优缺点(1)优点:决策树算法易于理解和解释,生成的决策树可以直观地表示分类的过程和结果。
此外,决策树算法可以处理数值型和类别型的数据,对缺失值和异常值具有较好的鲁棒性。
另外,决策树算法可以自动选择特征,不需要人工选择。
决策树分类的基本原理决策树分类是一种常用的机器学习方法,它使用树状结构来对数据进行分类。
决策树分类的基本原理是根据已有的数据样本,通过构建一个树状模型来预测新的数据样本的类别。
决策树分类的过程可以分为三个步骤:特征选择、树的构建和分类。
特征选择是决策树分类的关键步骤。
在特征选择中,我们需要选择最具有分类能力的特征进行分类。
常用的特征选择方法有信息增益、信息增益比、基尼指数等。
信息增益是根据信息熵的变化来选择最佳特征,信息增益比是在信息增益的基础上对特征进行归一化处理,基尼指数则是通过计算数据集的不纯度来选择最佳特征。
树的构建是根据选择的特征来构建决策树模型。
决策树是一种有根有向无环图,它由节点和边组成。
节点分为内部节点和叶节点,内部节点表示特征,叶节点表示类别。
树的构建过程是递归的,从根节点开始,根据选择的特征将数据划分为不同的子集,然后对每个子集递归地构建子树,直到满足停止条件。
分类是将新的数据样本根据构建的决策树模型进行分类。
从根节点开始,根据特征的取值选择相应的子树,直到到达叶节点,然后将叶节点的类别作为预测结果。
决策树分类有以下优点:1. 简单直观:决策树模型易于理解和解释,可以直观地表示数据样本的分类过程。
2. 数据预处理要求低:决策树分类对数据的预处理要求较低,可以处理包含缺失值和离散特征的数据。
3. 可处理多分类问题:决策树分类可以处理多分类问题,不需要额外的修改。
4. 可处理非线性关系:决策树分类可以处理非线性关系的数据,不需要对数据进行线性化处理。
决策树分类也存在一些缺点:1. 容易过拟合:决策树分类容易生成过于复杂的模型,导致过拟合问题。
过拟合会导致模型在训练集上表现良好,但在测试集上表现较差。
2. 不稳定性:决策树分类对数据的微小变化敏感,数据的轻微扰动可能会导致模型发生较大变化。
3. 忽略属性之间的相关性:决策树分类基于特征的独立性假设,忽略了属性之间的相关性。
这可能导致模型对相关性强的特征进行重复划分,造成冗余。