决策树算法介绍(DOC)
决策树算法介绍(DOC)
决策树算法介绍(DOC)3.1 分类与决策树概述3.1.1 分类与预测分类是⼀种应⽤⾮常⼴泛的数据挖掘技术,应⽤的例⼦也很多。
例如,根据信⽤卡⽀付历史记录,来判断具备哪些特征的⽤户往往具有良好的信⽤;根据某种病症的诊断记录,来分析哪些药物组合可以带来良好的治疗效果。
这些过程的⼀个共同特点是:根据数据的某些属性,来估计⼀个特定属性的值。
例如在信⽤分析案例中,根据⽤户的“年龄”、“性别”、“收⼊⽔平”、“职业”等属性的值,来估计该⽤户“信⽤度”属性的值应该取“好”还是“差”,在这个例⼦中,所研究的属性“信⽤度”是⼀个离散属性,它的取值是⼀个类别值,这种问题在数据挖掘中被称为分类。
还有⼀种问题,例如根据股市交易的历史数据估计下⼀个交易⽇的⼤盘指数,这⾥所研究的属性“⼤盘指数”是⼀个连续属性,它的取值是⼀个实数。
那么这种问题在数据挖掘中被称为预测。
总之,当估计的属性值是离散值时,这就是分类;当估计的属性值是连续值时,这就是预测。
3.1.2 决策树的基本原理1.构建决策树通过⼀个实际的例⼦,来了解⼀些与决策树有关的基本概念。
表3-1是⼀个数据库表,记载着某银⾏的客户信⽤记录,属性包括“姓名”、“年龄”、“职业”、“⽉薪”、......、“信⽤等级”,每⼀⾏是⼀个客户样本,每⼀列是⼀个属性(字段)。
这⾥把这个表记做数据集D。
银⾏需要解决的问题是,根据数据集D,建⽴⼀个信⽤等级分析模型,并根据这个模型,产⽣⼀系列规则。
当银⾏在未来的某个时刻收到某个客户的贷款申请时,依据这些规则,可以根据该客户的年龄、职业、⽉薪等属性,来预测其信⽤等级,以确定是否提供贷款给该⽤户。
这⾥的信⽤等级分析模型,就可以是⼀棵决策树。
在这个案例中,研究的重点是“信⽤等级”这个属性。
给定⼀个信⽤等级未知的客户,要根据他/她的其他属性来估计“信⽤等级”的值是“优”、“良”还是“差”,也就是说,要把这客户划分到信⽤等级为“优”、“良”、“差”这3个类别的某⼀类别中去。
决策树算法解释
决策树算法解释
决策树是一种运用概率与图论中的树对决策中的不同方案进行比较,从而获得最优方案的风险型决策方法。
它由树根(决策节点)、其他内点(方案节点、状态节点)、树叶(终点)、树枝(方案枝、概率枝)、概率值、损益值组成。
决策树是一个利用像树一样的图形或决策模型的决策支持工具,包括随机事件结果,资源代价和实用性。
它是一个算法显示的方法。
决策树分析法是一种非参数的有监督学习算法,能从一系列有特征和标签的数据中总结出决策规则,并可以用树状结构绘制决策流程,达到解决回归和分类的问题。
其核心思想是基于树结构进行对数据划分,通过对各特征进行询问的方式构造决策树。
在决策过程中,决策树通过构建一个类似树状的图形,帮助决策者理清思路,从不同角度考虑问题,并给出各个可能方案的概率和可能的收益。
具体来说,决策树的每个内部节点表示一个决策问题,每个分支代表一个可能的决策结果,每个叶子节点代表一种可能的最终结果。
通过决策树,决策者可以清晰地看到每个决策的可能结果,以及每个结果出现的概率。
总的来说,决策树是一种强大的工具,能够帮助我们理清思路并做出最佳的决策。
决策树算法
3
第一节 决策树算法原理
优点: 使用者不需要了解很多背景知识,只要训练事例能用属性 →结论的方式表达出来,就能用该算法学习; 决策树模型效率高,对训练集数据量较大的情况较为适合; 分类模型是树状结构,简单直观,可将到达每个叶结点的 路径转换为IF→THEN形式的规则,易于理解; 决策树方法具有较高的分类精确度。
14
第一节 决策树算法原理
决策树算法的大体框架都是一样的,都采用了贪心(非回 溯的)方法来以自顶向下递归的方式构造决策树。 它首先根据所使用的分裂方法来对训练集递归地划分递归 地建立树的节点,直至满足下面两个条件之一,算法才停 止运行:( 1)训练数据集中每个子集的记录项全部属于 一类或某一个类占压倒性的多数;(2)生成的树节点通 过某个终止的分裂准则;最后,建立起决策树分类模型。
4
第一节 决策树算法原理
缺点: 不易处理连续数据。数据的属性必须被划分为不同的类别 才能处理,但是并非所有的分类问题都能明确划分成这个 区域类型; 对缺失数据难以处理,这是由于不能对缺失数据产生正确 的分支进而影响了整个决策树的生成; 决策树的过程忽略了数据库属性之间的相关性。
5
第一节 决策树算法原理
21
2.1 ID3算法
属性选择度量 在树的每个节点上使用信息增益(information gain)度量选 择测试属性。这种度量称作属性选择度量或分裂的优良性度 量。 选择具有最高信息增益(或最大信息熵压缩)的属性作为当 前节点的测试属性。该属性使得对结果划分中的样本分类所 需的信息量最小,并反映划分的最小随机性或“不纯性”。 这种信息理论方法使得对一个对象分类所需的期望测试数目 达到最小,并确保找到一棵简单的(但不必是最简单的)树。
决策树很详细的算法介绍
决策树很详细的算法介绍决策树(Decision Tree)是一种常用的机器学习算法,它模拟人类决策过程的思维方式,能够通过学习已有数据集建立一个树状模型,来进行分类和回归的预测。
它可以处理具有离散和连续属性的数据,并具有较好的可解释性和易于理解的特点。
本文将对决策树算法进行详细介绍。
一、决策树算法的基本原理决策树算法基于“分而治之”的思想,将复杂的问题分解为一系列简单的决策判断,从而构建一个树状模型。
决策树的根节点表示最初的决策,内部节点代表决策的中间过程,叶节点表示最终的决策结果。
决策树的构建过程包括特征选择、树的生成和剪枝三个步骤。
特征选择是决策树算法中非常重要的一步,目的是选择对结果预测有最大分类能力的特征作为划分标准。
经典的特征选择方法有信息增益(ID3)、增益比(C4.5)和基尼指数(CART)等。
信息增益以信息熵的减少量作为特征选择的标准,增益比在信息增益的基础上,对特征本身的信息熵做出惩罚,而基尼指数则衡量数据集的不确定性。
树的生成是决策树算法的核心部分,它可以通过递归地将训练数据划分为不同的子集,直到子集中的数据属于同一类别为止。
生成过程中,通过计算选择的特征对数据集进行划分,并将数据集按照该特征的取值划分为若干子集。
重复这个划分过程,直到每个子集中的数据都属于同一类别,或者没有更多的特征可以选择。
决策树的剪枝是为了防止过拟合现象的发生,过拟合指的是决策树建立过于复杂,过多地考虑了数据集的特殊噪声和异常情况,导致模型在测试数据上表现较差。
剪枝的目标是通过去掉一些分支来简化树模型,提高模型的泛化能力。
决策树剪枝算法有预剪枝和后剪枝两种方式,预剪枝在生成树的过程中进行剪枝,后剪枝在生成树之后进行剪枝。
二、决策树的优势和不足决策树算法具有以下优势:1.决策树易于理解和解释,生成的规则形式直观,能够为决策提供明确的解释。
2.决策树算法是一种非参数方法,对数据的分布没有假设,适用于各种类型的数据。
决策树算法原理
决策树算法原理1 认识决策树1)决策树的生成过程一棵决策树的生成过程主要分为以下3个部分。
(1)特征选择:从训练数据众多的特征中选择一个特征作为当前节点的分裂标准,如何选择特征有着很多不同量化评估标准,从而衍生出不同的决策树算法。
(2)决策树生成:根据选择的特征评估标准,从上至下递归地生成子节点,直到数据集不可分时,决策树停止生长。
对于树结构来说,递归结构是最容易理解的方式。
(3)剪枝:决策树容易过拟合,一般都需要剪枝,缩小树结构规模、缓解过拟合。
2)基于信息论的3种决策树算法划分数据集的最大原则是使无序的数据变得有序。
如果一个训练数据中有10个特征,那么选取哪个作为划分依据?这就必须采用量化的方法来判断,量化划分方法有多种,其中一项就是“信息论度量信息分类”。
基于信息论的决策树算法有ID3、CART和C4.5等算法,其中C4.5和CART两种算法从ID3算法中衍生而来。
CART算法和C4.5算法支持数据特征为连续分布时的处理,主要通过使用二元切分来处理连续变量,即求一个特定的值——分裂值:特征值大于分裂值就走左子树,或者就走右子树。
这个分裂值的选取原则是使得划分后的子树中的“混乱程度”降低,具体到C4.5算法和CART算法有不同的定义方式。
ID3算法由Ross Quinlan发明,建立在“奥卡姆剃刀”的基础上,越是小型的决策树越优于大的决策树。
ID3算法中根据信息论的信息增益评估和选择特征,每次选择信息增益最大的特征作为判断模块。
ID3算法可用于划分标称型数据集,没有剪枝的过程,为了解决过度数据匹配的问题,可通过裁剪合并相邻的无法产生大量信息增益的叶节点(如设置信息增益阈值)。
使用信息增益其实是有一个缺点的,那就是它偏向于具有大量值的属性,就是在训练集中,某个属性所取的不同值的个数越多,那么越有可能拿它来作为分裂属性,而这样做有时候是没有意义的。
另外,ID3算法不能处理连续分布的数据特征,于是就有了C4.5算法。
决策树算法介绍
决策树算法介绍决策树是一种常见的机器学习算法,它通过对输入数据集进行分割,构建一个树状的模型来进行分类和预测。
决策树算法简单而直观,易于理解和解释,因此被广泛应用于数据挖掘和机器学习任务中。
决策树的主要思想是通过一系列的分割来逐步划分输入数据集。
在每个分割点上,根据一些属性的取值将数据集分成不同的子集。
这个属性的选择由算法的分割准则决定,常见的准则有信息增益、基尼系数等。
分割后的子集再通过同样的过程继续进行分割,直到达到一些终止条件,比如子集中的样本全部属于同一类别,或者达到了预定的树的深度。
决策树的构建过程可以看作是一个递归的过程。
在每个节点上,选择一个属性,将数据集划分成不同的子集。
对于每个子集,递归地应用相同的过程,直到满足终止条件。
构建决策树的过程可以使用深度优先或广度优先等方式。
决策树的优点包括:1.易于理解和解释:决策树的模型结构类似于人们日常生活中的决策过程,因此易于理解和解释。
2.可处理各种数据类型:决策树算法可以处理离散型和连续型属性的数据,也可以处理缺失值和异常值的情况。
3.可以处理多类别问题:决策树算法可以处理多类别问题,不需要额外的步骤或者模型。
然而,决策树算法也存在一些缺点:1.容易过拟合:决策树的构造过程容易受到噪声和异常值的影响,可能会生成过于复杂的模型,导致过拟合现象。
2.对输入数据的变化敏感:当输入数据发生变化时,决策树模型可能需要重新构建,因为它不具备自适应的能力。
3.不能处理连续型的目标变量:决策树算法只能处理分类问题,而不能直接处理回归问题。
针对上述的缺点,人们发展了许多改进的决策树算法,比如随机森林、梯度提升树等。
这些算法通过集成多个决策树,提高了模型的泛化能力和稳定性。
总结起来,决策树是一种简单而直观的机器学习算法,通过对输入数据集的分割构建模型来进行分类和预测。
它易于理解和解释,处理各种数据类型,可以处理多类别问题。
但决策树也容易过拟合,对数据变化敏感,不能处理连续型的目标变量。
决策树的三种算法
决策树的三种算法一、决策树算法的简单介绍决策树算法就像是一个超级智能的树状决策指南。
你可以把它想象成一棵倒着长的树,树根在上面,树枝和树叶在下面。
它的任务呢,就是根据不同的条件来做出各种决策。
比如说,你想决定今天穿什么衣服,天气就是一个条件,如果天气冷,你可能就选择穿厚衣服;如果天气热,那薄衣服就比较合适啦。
决策树算法在很多地方都超级有用,像预测一个人会不会买某个商品,或者判断一个邮件是不是垃圾邮件之类的。
二、决策树的三种算法1. ID3算法这个算法就像是一个很会找重点的小机灵鬼。
它主要是根据信息增益来构建决策树的。
啥是信息增益呢?就是通过计算某个属性带来的信息量的增加。
比如说,在判断一个水果是苹果还是香蕉的时候,颜色这个属性可能就有很大的信息增益。
如果一个水果是红色的,那它是苹果的可能性就比较大。
ID3算法会优先选择信息增益大的属性来作为树的节点,这样就能更快更准地做出决策啦。
不过呢,这个算法也有个小缺点,就是它比较容易对噪声数据敏感,就像一个很敏感的小娃娃,稍微有点风吹草动就可能受到影响。
2. C4.5算法C4.5算法就像是ID3算法的升级版。
它在ID3算法的基础上做了一些改进。
它不仅仅考虑信息增益,还考虑了信息增益率。
这就好比是一个更加全面考虑的智者。
通过考虑信息增益率,它能够更好地处理那些属性值比较多的情况。
比如说,在一个数据集中有一个属性有很多很多不同的值,C4.5算法就能比ID3算法更好地处理这种情况,不会轻易地被这种复杂情况给弄晕。
而且C4.5算法还能够处理连续的属性值,这就像是它多了一项特殊的技能,让它在更多的情况下都能发挥作用。
3. CART算法CART算法又有自己的特点。
它使用的是基尼系数来选择属性进行划分。
基尼系数就像是一个衡量公平性的小尺子,在决策树这里,它是用来衡量数据的纯度的。
如果基尼系数越小,说明数据越纯,就越容易做出准确的决策。
CART算法既可以用于分类问题,就像前面说的判断水果是苹果还是香蕉这种,也可以用于回归问题,比如预测房价之类的。
决策树的算法
决策树的算法一、什么是决策树算法?决策树算法是一种基于树形结构的分类和回归方法,其本质是将训练数据集分成若干个小的子集,每个子集对应一个决策树节点。
在决策树的生成过程中,通过选择最优特征对数据进行划分,使得各个子集内部的样本尽可能属于同一类别或者拥有相似的属性。
在预测时,将待分类样本从根节点开始逐层向下遍历,直到到达叶节点并输出该节点所代表的类别。
二、决策树算法的基本流程1. 特征选择特征选择是指从训练数据集中选取一个最优特征用来进行划分。
通常情况下,选择最优特征需要考虑两个因素:信息增益和信息增益比。
2. 决策树生成通过递归地构建决策树来实现对训练数据集的分类。
具体实现方式为:采用信息增益或信息增益比作为特征选择标准,在当前节点上选择一个最优特征进行划分,并将节点分裂成若干个子节点。
然后对每个子节点递归调用上述过程,直到所有子节点都为叶节点为止。
3. 决策树剪枝决策树剪枝是指通过去掉一些无用的分支来降低决策树的复杂度,从而提高分类精度。
具体实现方式为:先在训练集上生成一棵完整的决策树,然后自底向上地对内部节点进行考察,若将该节点所代表的子树替换成一个叶节点能够提高泛化性能,则将该子树替换成一个叶节点。
三、常见的决策树算法1. ID3算法ID3算法是一种基于信息熵的特征选择方法。
其核心思想是在每个节点上选择信息增益最大的特征进行划分。
由于ID3算法偏向于具有较多取值的特征,因此在实际应用中存在一定局限性。
2. C4.5算法C4.5算法是ID3算法的改进版,采用信息增益比作为特征选择标准。
相比于ID3算法,C4.5算法可以处理具有连续属性和缺失值的数据,并且生成的决策树更加简洁。
3. CART算法CART(Classification And Regression Tree)算法既可以用来进行分类,也可以用来进行回归分析。
其核心思想是采用基尼指数作为特征选择标准,在每个节点上选择基尼指数最小的特征进行划分。
决策树算法描述
决策树是一种常用的监督学习算法,用于分类和回归问题。
它基于数据的特征对数据进行划分,通过递归地构建树状结构来实现分类或预测目标。
以下是决策树算法的一般描述:
1.选择最佳分割特征:决策树的每个节点代表一个特征或属性,通
过选择最佳的特征来对数据进行分割。
2.创建分支节点:根据所选特征的取值,将数据集划分成不同的子
集。
3.递归构建决策树:对每个子集重复步骤1 和2,直到满足停止条
件(例如,当子集只包含一个类别或达到最大深度)。
4.生成预测结果:根据决策树的结构,对新数据进行预测。
从根节
点开始,根据特征值沿着路径到达叶子节点,得到相应的预测结果。
决策树算法的关键在于选择最佳分割特征和确定停止条件。
常用的特征选择方法包括信息增益、增益率、基尼系数等。
停止条件可以是最小样本数、最大树深度或其他阈值。
决策树算法具有易于理解、可视化和快速预测的优点。
然而,它可能会出现过拟合问题,因此通常会结合剪枝技术来优化决策树的性能。
这只是决策树算法的一个简要描述,实际应用中可能会涉及更多的细节和优化方法。
决策树算法在许多领域都有广泛的应用,如数据挖掘、机器学习和分类问题等。
决策树算法算法介绍
决策树算法算法介绍⽬录1.2.3.4.5.⼀、概念决策树(decision tree)是⼀种基本的分类与回归⽅法。
决策树模型呈树形结构,在分类问题中,表⽰基于特征对实例进⾏分类的过程。
它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。
其主要优点是模型具有可读性,分类速度快。
学习时,利⽤训练数据,根据损失函数最⼩化的原则建⽴决策树模型。
预测时,对新的数据,利⽤决策树模型进⾏分类其中每个⾮叶节点表⽰⼀个特征属性上的测试,每个分⽀代表这个特征属性在某个值域上的输出,⽽每个叶节点存放⼀个类别。
使⽤决策树进⾏决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分⽀,直到到达叶⼦节点,将叶⼦节点存放的类别作为决策结果。
总结来说:决策树模型核⼼是下⾯⼏部分:节点和有向边组成节点有内部节点和叶节点俩种类型内部节点表⽰⼀个特征,叶节点表⽰⼀个类下图即为⼀个决策树的⽰意描述,内部节点⽤矩形表⽰,叶⼦节点⽤椭圆表⽰:⼆、决策树的学习过程⼀棵决策树的⽣成过程主要分为以下3个部分:特征选择:特征选择是指从训练数据中众多的特征中选择⼀个特征作为当前节点的分裂标准,如何选择特征有着很多不同量化评估标准标准,从⽽衍⽣出不同的决策树算法。
决策树⽣成:根据选择的特征评估标准,从上⾄下递归地⽣成⼦节点,直到数据集不可分则停⽌决策树停⽌⽣长。
树结构来说,递归结构是最容易理解的⽅式。
剪枝:决策树容易过拟合,⼀般来需要剪枝,缩⼩树结构规模、缓解过拟合。
剪枝技术有预剪枝和后剪枝两种先了解⼀些基本概念(1)决策树节点的不纯度(impurity)不纯度⽤基尼系数(gini)表⽰:其中k代表y值的类别的个数,p k表⽰类别k样本数量占所有样本的⽐例,从该公式可以看出,当数据集中数据混合的程度越⾼,基尼指数也就越⾼。
当数据集只有⼀种数据类型,那么基尼指数的值为最低,纯度越⾼,基尼系数越⼩如果选取的属性为 A,那么分裂后的数据集 D 的基尼指数的计算公式为:其中 k 表⽰样本 D 被分为 k 个部分,数据集 D 分裂成为 k 个 Dj 数据集。
决策树 算法
决策树算法1. 简介决策树算法是一种广泛应用于分类和回归问题的机器学习算法。
它通过从一组特征中选择最佳划分方式来构建一个树形结构的决策模型,从而对新样本进行预测或分类。
决策树算法简单易懂,可解释性强,且能处理同时包含离散和连续特征的数据。
2. 决策树的基本原理决策树算法基于以下几个关键概念:2.1 特征选择在构建决策树的过程中,需要选择最佳的特征来进行划分。
特征选择的目标是通过划分使得每个子节点的纯度最大化(分类问题)或者均方差最小化(回归问题)。
常用的特征选择指标有信息增益、增益率、基尼指数等。
2.2 决策树的构建决策树是通过不断选择最佳特征来递归地构建的。
首先将整个数据集作为根节点,选择一个最佳特征进行划分,然后将数据集划分为多个子集,每个子集对应一个子节点。
递归地对每个子节点进行特征选择和划分,直到满足终止条件(如纯度达到一定阈值或树的深度达到限制)为止。
2.3 决策树的剪枝决策树的构建过程容易导致过拟合,即模型对训练数据过于敏感而无法很好地推广到新样本。
为了避免过拟合,需要对决策树进行剪枝。
剪枝根据一定的准则,去除一些子树或叶节点,从而简化模型。
3. 决策树算法的优缺点3.1 优点•决策树易于理解和解释,模型生成的决策规则可以直观地呈现。
•决策树可以处理离散和连续特征,无需对数据进行特殊处理。
•决策树能够自动选择特征,并通过特征选择来提高模型的性能。
•决策树不需要很大的训练数据集,可以处理小型数据集。
3.2 缺点•决策树容易过拟合,特别是在处理复杂问题时。
•决策树对输入数据的变化非常敏感,哪怕是微小的变化也可能导致完全不同的树结构。
•决策树很难处理包含有不同类别交叉的数据集。
4. 决策树算法的应用决策树算法被广泛应用于许多领域,以下是一些常见的应用场景:4.1 金融风险评估决策树可以根据客户的个人信息和历史数据,判断其信用风险等级。
通过构建一个决策树模型,银行或金融机构可以快速准确地评估客户的风险,从而做出相应的贷款决策。
决策树法
决策树法(Decision Tree)决策树(decision tree)一般都是自上而下的来生成的。
每个决策或事件(即自然状态)都可能引出两个或多个事件,导致不同的结果,把这种决策分支画成图形很像一棵树的枝干,故称决策树。
决策树就是将决策过程各个阶段之间的结构绘制成一张箭线图,我们可以用下图来表示。
选择分割的方法有好几种,但是目的都是一致的:对目标类尝试进行最佳的分割。
从根到叶子节点都有一条路径,这条路径就是一条“规则”。
决策树可以是二叉的,也可以是多叉的。
对每个节点的衡量:1) 通过该节点的记录数2) 如果是叶子节点的话,分类的路径3) 对叶子节点正确分类的比例有些规则的效果可以比其他的一些规则要好。
决策树的构成要素[1]决策树的构成有四个要素:(1)决策结点;(2)方案枝;(3)状态结点;(4)概率枝。
如图所示:总之,决策树一般由方块结点、圆形结点、方案枝、概率枝等组成,方块结点称为决策结点,由结点引出若干条细支,每条细支代表一个方案,称为方案枝;圆形结点称为状态结点,由状态结点引出若干条细支,表示不同的自然状态,称为概率枝。
每条概率枝代表一种自然状态。
在每条细枝上标明客观状态的内容和其出现概率。
在概率枝的最末稍标明该方案在该自然状态下所达到的结果(收益值或损失值)。
这样树形图由左向右,由简到繁展开,组成一个树状网络图。
决策树对于常规统计方法的优缺点优点:1)可以生成可以理解的规则;2)计算量相对来说不是很大;3) 可以处理连续和种类字段;4) 决策树可以清晰的显示哪些字段比较重要。
缺点:1) 对连续性的字段比较难预测;2) 对有时间顺序的数据,需要很多预处理的工作;3) 当类别太多时,错误可能就会增加的比较快;4) 一般的算法分类的时候,只是根据一个字段来分类。
决策树的适用范围[1]科学的决策是现代管理者的一项重要职责。
我们在企业管理实践中,常遇到的情景是:若干个可行性方案制订出来了,分析一下企业内、外部环境,大部分条件是己知的,但还存在一定的不确定因素。
第9章_决策树算法
第9章_决策树算法决策树是一种非常常用的机器学习算法,它可以用来解决分类和回归问题。
在这个算法中,数据被表示为一个树状结构,其中每个内部节点代表一个属性或特征,每个分支代表一个决策规则,每个叶节点代表一种结果或输出。
在决策树算法中,我们首先需要选择一个合适的属性来作为根节点,这个选择可以通过计算信息增益或者基尼系数来实现。
信息增益是一个衡量两个随机变量之间的关联性的指标,基尼系数是一个衡量样本的纯度的指标。
选择属性之后,我们将数据根据该属性的取值分成几个子集,在每个子集上递归地应用决策树算法,直到子集中的样本全部属于同一类别或达到预定的停止条件。
最后,将决策树的根节点和各个子树连接起来,得到最终的决策树模型。
决策树算法具有许多优点。
首先,决策树易于理解和解释。
由于它们是树状结构,可以直观地展示出各个属性之间的关系和决策规则。
其次,决策树算法能够处理混合数据类型,包括连续型和离散型数据。
此外,决策树算法在处理大规模数据集时具有高效性能,因为它只需遍历树的一部分即可进行预测。
决策树算法也存在一些缺点。
首先,决策树算法容易出现过拟合的问题。
当训练数据的噪声较多时,决策树可能会过度拟合训练数据,导致在测试数据上的性能下降。
为了解决这个问题,我们可以使用剪枝技术来降低决策树的复杂度。
其次,决策树算法对于输入数据的变化比较敏感。
当数据发生较小的变化时,可能会导致整个决策树结构的改变。
为了解决这个问题,我们可以使用集成学习方法,如随机森林和梯度提升树。
决策树算法在实际应用中有许多成功的案例。
例如,在医学领域,决策树算法被用来预测疾病的诊断结果和药物的疗效。
在金融领域,决策树算法被用来评估信用风险和预测股票价格。
在社交网络领域,决策树算法被用来预测用户的兴趣和推荐朋友。
总的来说,决策树算法是一种非常重要和实用的机器学习算法,它在各个领域都有广泛的应用前景。
决策树算法介绍
特征选择:选择一个最优特征进行数据的划分。评价特征的好坏通常使用信息增益、 基尼指数等度量方法
决策树生成:根据选择的最优特征将数据集划分为子集,然后对每个子集进行递归操 作,直到满足停止条件(如子集中所有样本都属于同一类别、子集中的样本数小于预设 阈值等)
决策树剪枝:为了防止过拟合,需要对生成的决策树进行剪枝操作,将那些出现频率 高但预测效果不佳的节点进行简化,或者直接删除
决策树算法的基本原理
常见的决策树算法包括 CART(Classification and Regression Trees)、ID3、
C4.5和CART等
PART.2
决策树在人工智能领域的应用
决策树算法在 人工智能领域 有着广泛的应 用,以下是几 个典型的例子
决策树在人工智能领域的应用
垃圾邮件识别
信用卡欺诈识别
推荐系统
风险评估
自然语言处理
自动驾驶
PART.3
个人理解
决策树算法因其简洁性和易于理解的特点,在未来有广泛的应用潜力。它们在处理大数据 和复杂问题方面表现出色,适用于多种行业,特别是在需要明确解释模型决策的场合。随 着技术的发展,尤其是在集成学习和实时数据处理方面,决策树的应用前景看好源自决策树算法介 绍答辩人:xxx
指导老师:xxx
决策树算法介绍
决策树算法的基本原理 决策树在人工智能领域的应用 个人理解
目录
决策树算法介绍
PART.1
决策树算法的基本原理
决策树算法基于特征进行决策,它的每个内部节点表示一个特征属性上的判断条件,每个 分支代表一个可能的属性值,每个叶子节点表示一个类别(对于分类问题)或一个具体数值 (对于回归问题)。决策树算法从根节点开始,对数据进行逐层的判断和划分,直到达到叶 子节点或无法继续划分为止
决策树算法
决策树决策树(Decision Tree)是一种基于树状结构的机器学习算法,用于进行分类和回归任务。
它是一种监督学习方法,通过学习从输入特征到输出标签的映射关系,可以对新样本进行预测。
在决策树中,每个内部节点表示一个特征或属性,每个分支代表一个特征的取值,而每个叶节点表示一个类别标签或回归值。
决策树的构建过程是递归的,通过对训练数据进行递归划分,每次选择最佳的特征和划分方式来构建树。
决策树的构建过程可以根据不同的算法和策略进行,其中常见的算法包括ID3(Iterative Dichotomiser 3)、C4.5、CART(Classification and Regression Trees)等。
这些算法在选择最佳划分特征时使用了不同的准则,如信息增益、基尼系数等。
决策树具有以下特点和优势:1. 可解释性:决策树的结构清晰,易于理解和解释,可以显示特征的重要性和决策过程。
2. 适应多类别问题:决策树可以处理多类别分类问题,并且可以处理离散特征和连续特征。
3. 鲁棒性:决策树对异常值和缺失数据具有一定的鲁棒性,可以处理不完整的数据。
4. 特征选择:决策树可以通过特征选择来确定最重要的特征,帮助进行特征工程和数据理解。
然而,决策树也存在一些限制和注意事项:1. 容易过拟合:决策树容易在训练数据上过拟合,导致在新数据上的泛化性能下降。
可以通过剪枝等方法来缓解过拟合问题。
2. 不稳定性:决策树对输入数据的小变化敏感,因此对于数据的噪声和不稳定性较高的情况下,可能会产生不稳定的结果。
3. 数据平衡:决策树对于数据不平衡的情况下,可能会倾向于选择具有更多样本的类别。
决策树是一种常见且强大的机器学习算法,它在实际应用中被广泛使用,包括医学诊断、金融风险评估、客户分类等领域。
同时,决策树也可以与集成学习方法(如随机森林、梯度提升树)相结合,进一步提升预测性能。
决策树分类算法
决策树分类算法⼀、决策树原理决策树是⽤样本的属性作为结点,⽤属性的取值作为分⽀的树结构。
决策树的根结点是所有样本中信息量最⼤的属性。
树的中间结点是该结点为根的⼦树所包含的样本⼦集中信息量最⼤的属性。
决策树的叶结点是样本的类别值。
决策树是⼀种知识表⽰形式,它是对所有样本数据的⾼度概括决策树能准确地识别所有样本的类别,也能有效地识别新样本的类别。
决策树算法ID3的基本思想:⾸先找出最有判别⼒的属性,把样例分成多个⼦集,每个⼦集⼜选择最有判别⼒的属性进⾏划分,⼀直进⾏到所有⼦集仅包含同⼀类型的数据为⽌。
最后得到⼀棵决策树。
J.R.Quinlan的⼯作主要是引进了信息论中的信息增益,他将其称为信息增益(information gain),作为属性判别能⼒的度量,设计了构造决策树的递归算法。
举例⼦⽐较容易理解:对于⽓候分类问题,属性为:天⽓(A1) 取值为:晴,多云,⾬⽓温(A2) 取值为:冷,适中,热湿度(A3) 取值为:⾼,正常风 (A4) 取值为:有风,⽆风每个样例属于不同的类别,此例仅有两个类别,分别为P,N。
P类和N类的样例分别称为正例和反例。
将⼀些已知的正例和反例放在⼀起便得到训练集。
由ID3算法得出⼀棵正确分类训练集中每个样例的决策树,见下图。
决策树叶⼦为类别名,即P 或者N。
其它结点由样例的属性组成,每个属性的不同取值对应⼀分枝。
若要对⼀样例分类,从树根开始进⾏测试,按属性的取值分枝向下进⼊下层结点,对该结点进⾏测试,过程⼀直进⾏到叶结点,样例被判为属于该叶结点所标记的类别。
现⽤图来判⼀个具体例⼦,某天早晨⽓候描述为:天⽓:多云⽓温:冷湿度:正常风:⽆风它属于哪类⽓候呢?-------------从图中可判别该样例的类别为P类。
ID3就是要从表的训练集构造图这样的决策树。
实际上,能正确分类训练集的决策树不⽌⼀棵。
Quinlan的ID3算法能得出结点最少的决策树。
ID3算法:⒈对当前例⼦集合,计算各属性的信息增益;⒉选择信息增益最⼤的属性A k;⒊把在A k处取值相同的例⼦归于同⼀⼦集,A k取⼏个值就得⼏个⼦集;⒋对既含正例⼜含反例的⼦集,递归调⽤建树算法;⒌若⼦集仅含正例或反例,对应分枝标上P或N,返回调⽤处。
决策树算法
决策树算法决策树算法(DecisionTreeAlgorithm)是一种常用的数据挖掘和分类技术。
它把数据转换成一个树形结构显示出来,以便更加清楚的展示出数据的关联关系。
决策树算法是一种经典的分类算法,其将会把所有的数据属性进行分类,并根据预先定义的规则做出判定,最终将数据划分为多个分类,从而实现数据的分类鉴定和挖掘。
决策树算法是一种非常有效的机器学习算法,可以从数据中自动学习出一组规则,然后根据这些规则来做出决策。
这种算法可以很容易地理解和使用,也很适合与各种任务一起使用,如作为自动化分类和决策系统的一部分。
决策树算法建立在树状结构的基础上,它代表一组决策,每个决策有一定的判断标准,且标准是独一无二的,在每次判断时要根据训练数据里的不同情况来决定根据哪一个判断标准来进行分类。
决策树算法有着自己的优势,如它可以处理事先未知的概念的数据,比如如果有一个数据集包含多个相关的属性,而这些属性之间有着精确的联系,决策树可以非常容易地从一系列复杂的属性之中学习出一种分类规则,然后根据这些规则来做出分类决策。
此外,决策树算法的训练时间较短,而且可以很容易的显示出分类的过程,从而使得决策树算法具备可视化的优势,它可以轻松地展示出分类的结果。
决策树算法有着它自己特有的缺点,如它容易出现过拟合现象,这意味着在训练过程中,决策树可以一味地追求最大的正确率,而忽视掉样本外的情况,从而使得它在实际应用中会出现较大的偏差。
另外,与其他算法相比,决策树算法需要较多的存储空间,因为它的模型包含了很多的特征,而且这些特征也是依次建立的,这样就需要更多的存储来支持这种复杂的模型。
决策树算法日益受到人们的重视,它在数据挖掘和分类任务中发挥着重要的作用。
现在,已经有越来越多的的分类算法出现在市面上,但是决策树算法仍然是众多算法中的佼佼者,它可以从数据中自动学习出一组决策规则,并根据这些规则做出最终的决策,有助于实现有效的数据挖掘和分类。
决策树 算法
决策树算法决策树算法是一种常见的数据挖掘和机器学习算法,其应用范围广泛,能够解决各种分类和预测问题。
本文将对决策树算法进行介绍和分析。
决策树算法是一种基于树形结构的分类器,通过将样本数据进行分类、标注和分割构建一棵树形结构,最终得到一棵可用于分类或预测的决策树。
决策树的根节点表示样本数据的总体,每个分支节点表示一个特征,叶子节点表示一个分类结果。
通过对样本数据不断的分割和分类,决策树最终可以将样本数据分为不同的类别,从而实现分类预测。
决策树算法的主要优点是模型简单易懂,具有可解释性,可以直观地展示数据分类的过程。
此外,决策树算法对于离散特征和连续特征都有很好的适应性,能够处理多分类和非线性问题,同时具有较好的泛化性能和可扩展性。
决策树算法的主要缺点是容易过拟合,当决策树的深度增加、分支过多时,会导致训练数据的过拟合,降低模型的预测能力。
此外,决策树算法对于噪声和异常数据比较敏感,需要进行数据清洗和预处理。
决策树算法的应用场景非常广泛,常用于分类、预测和数据挖掘领域。
例如,在金融风控中,可以使用决策树算法对客户信用等级进行评估;在医疗领域,可以使用决策树算法对疾病进行分类预测;在电商领域,可以使用决策树算法对用户进行行为分析和推荐。
在实现决策树算法时,需要进行数据预处理、特征选择和模型训练等步骤。
在数据预处理阶段,需要对数据进行清洗、变换和缺失值处理等操作;在特征选择阶段,需要根据特征的重要性选择关键特征;在模型训练阶段,需要根据训练数据进行决策树的构建和剪枝,以提高模型的泛化能力。
总之,决策树算法是一种常见的数据挖掘和机器学习算法,具有简单易懂、可解释性强、对离散特征和连续特征均有适应性等优点,适用于分类、预测和数据挖掘等领域。
在实现决策树算法时,需要进行数据预处理、特征选择和模型训练等步骤,以提高模型的预测能力和泛化性能。
决策树代价复杂度剪枝算法介绍(全)
决策树代价复杂度剪枝算法介绍(全)决策树是一种用于分类和回归分析的经典机器学习算法。
它通过构建一棵树状结构来表示不同特征和决策之间的关系,并根据这些关系来做出预测。
然而,随着决策树的生长,可能会出现过拟合的问题,这就需要剪枝算法来修剪决策树,以避免过度拟合并提高泛化能力。
决策树剪枝算法的目标是通过裁剪决策树的部分分支或叶子节点,来提高整个决策树的性能。
具体来说,剪枝算法通常通过以下步骤来实现:1.预剪枝:预剪枝是在决策树构建过程中,在每个节点上评估当前分支的质量,并决定是否继续生长子节点。
常用的预剪枝策略有基于信息增益的剪枝、基于基尼指数的剪枝、错误率剪枝等。
这些策略通常在决策树构建过程中,根据一定的评价标准进行决策,比如当信息增益不大于阈值时停止生长。
2.后剪枝:后剪枝是在决策树构建完成后,对整棵树进行优化的过程。
它通过移除决策树中的一些子树,来提高决策树的泛化能力。
后剪枝的基本思想是:对于每个非叶子节点,分别考虑保留该节点及其子树,或者将其替换为叶子节点,然后通过交叉验证来评估两种情况下的性能差异,选择性能更好的方案。
后剪枝过程通常分为自顶向下和自底向上两种策略。
自顶向下剪枝算法的步骤如下:a.对于每个非叶子节点,将其子树替换为叶子节点,并计算该替换后的决策树在验证集上的性能。
b.如果替换后的决策树更好(性能更高),则保留该替换,否则恢复原始结构。
c.重复步骤a和b,直到所有的非叶子节点都被考虑过。
自底向上剪枝算法的步骤如下:a.对于每个叶子节点,计算将该节点替换为其父节点的叶子节点(包含该节点)后的决策树在验证集上的性能。
b.如果替换后的决策树更好(性能更高),则保留该替换,否则恢复原始结构。
c.重复步骤a和b,直到所有的叶子节点都被考虑过。
这两种剪枝方法都会产生一系列的决策树,通过交叉验证来选择性能最好的决策树作为最终模型。
剪枝算法的关键在于评估删减节点或子树后的决策树性能。
常用的评估指标有错误率、基尼指数、信息增益等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1 分类与决策树概述3.1.1 分类与预测分类是一种应用非常广泛的数据挖掘技术,应用的例子也很多。
例如,根据信用卡支付历史记录,来判断具备哪些特征的用户往往具有良好的信用;根据某种病症的诊断记录,来分析哪些药物组合可以带来良好的治疗效果。
这些过程的一个共同特点是:根据数据的某些属性,来估计一个特定属性的值。
例如在信用分析案例中,根据用户的“年龄”、“性别”、“收入水平”、“职业”等属性的值,来估计该用户“信用度”属性的值应该取“好”还是“差”,在这个例子中,所研究的属性“信用度”是一个离散属性,它的取值是一个类别值,这种问题在数据挖掘中被称为分类。
还有一种问题,例如根据股市交易的历史数据估计下一个交易日的大盘指数,这里所研究的属性“大盘指数”是一个连续属性,它的取值是一个实数。
那么这种问题在数据挖掘中被称为预测。
总之,当估计的属性值是离散值时,这就是分类;当估计的属性值是连续值时,这就是预测。
3.1.2 决策树的基本原理1.构建决策树通过一个实际的例子,来了解一些与决策树有关的基本概念。
表3-1是一个数据库表,记载着某银行的客户信用记录,属性包括“姓名”、“年龄”、“职业”、“月薪”、......、“信用等级”,每一行是一个客户样本,每一列是一个属性(字段)。
这里把这个表记做数据集D。
银行需要解决的问题是,根据数据集D,建立一个信用等级分析模型,并根据这个模型,产生一系列规则。
当银行在未来的某个时刻收到某个客户的贷款申请时,依据这些规则,可以根据该客户的年龄、职业、月薪等属性,来预测其信用等级,以确定是否提供贷款给该用户。
这里的信用等级分析模型,就可以是一棵决策树。
在这个案例中,研究的重点是“信用等级”这个属性。
给定一个信用等级未知的客户,要根据他/她的其他属性来估计“信用等级”的值是“优”、“良”还是“差”,也就是说,要把这客户划分到信用等级为“优”、“良”、“差”这3个类别的某一类别中去。
这里把“信用等级”这个属性称为“类标号属性”。
数据集D中“信用等级”属性的全部取值就构成了类别集合:Class={“优”,“良”,“差”}。
在决策树方法中,有两个基本的步骤。
其一是构建决策树,其二是将决策树应用于数据库。
大多数研究都集中在如何有效地构建决策树,而应用则相对比较简单。
构建决策树算法比较多,在Clementine中提供了4种算法,包括C&RT、CHAID、QUEST和C5.0。
采用其中的某种算法,输入训练数据集,就可以构造出一棵类似于图3.1所示的决策树。
一棵决策树是一棵有向无环树,它由若干个节点、分支、分裂谓词以及类别组成。
节点是一棵决策树的主体。
其中,没有父亲节点的节点称为根节点,如图3.1中的节点1;没有子节点的节点称为叶子节点,如图3.1中的节点4、5、6、7、8。
一个节点按照某个属性分裂时,这个属性称为分裂属性,如节点1按照“年龄”被分裂,这里“年龄”就是分裂属性,同理,“职业”、“月薪”也是分裂属性。
每一个分支都会被标记一个分裂谓词,这个分裂谓词就是分裂父节点的具体依据,例如在将节点1分裂时,产生两个分支,对应的分裂谓词分别是“年龄<40”和“年龄>=40”。
另外,每一个叶子节点都被确定一个类标号,这里是“优”、“良”或者“差”。
基于以上描述,下面给出决策树的定义:由此可以看出,构建一棵决策树,关键问题就在于,如何选择一个合适的分裂属性来进行一次分裂,以及如何制定合适的分裂谓词来产生相应的分支。
各种决策树算法的主要区别也正在于此。
2.修剪决策树利用决策树算法构建一个初始的树之后,为了有效地分类,还要对其进行剪枝。
这是因为,由于数据表示不当、有噪音等原因,会造成生成的决策树过大或过度拟合。
因此为了简化决策树,寻找一颗最优的决策树,剪枝是一个必不可少的过程。
通常,决策树越小,就越容易理解,其存储与传输的代价也就越小,但决策树过小会导致错误率较大。
反之,决策树越复杂,节点越多,每个节点包含的训练样本个数越少,则支持每个节点样本数量也越少,可能导致决策树在测试集上的分类错误率越大。
因此,剪枝的基本原则就是,在保证一定的决策精度的前提下,使树的叶子节点最少,叶子节点的深度最小。
要在树的大小和正确率之间寻找平衡点。
不同的算法,其剪枝的方法也不尽相同。
常有的剪枝方法有预剪枝和后剪枝两种。
例如CHAID和C5.0采用预剪枝,CART则采用后剪枝。
预剪枝,是指在构建决策树之前,先制定好生长停止准则(例如指定某个评估参数的阈值),在树的生长过程中,一旦某个分支满足了停止准则,则停止该分支的生长,这样就可以限制树的过度生长。
采用预剪枝的算法有可能过早地停止决策树的构建过程,但由于不必生成完整的决策树,算法的效率很高,适合应用于大规模问题。
后剪枝,是指待决策树完全生长结束后,再根据一定的准则,剪去决策树中那些不具一般代表性的叶子节点或者分支。
这时,可以将数据集划分为两个部分,一个是训练数据集,一个是测试数据集。
训练数据集用来生成决策树,而测试数据集用来对生成的决策树进行测试,并在测试的过程中通过剪枝来对决策树进行优化。
3.生成原则在生成一棵最优的决策树之后,就可以根据这棵决策树来生成一系列规则。
这些规则采用“If...,Then...”的形式。
从根节点到叶子节点的每一条路径,都可以生成一条规则。
这条路径上的分裂属性和分裂谓词形成规则的前件(If部分),叶子节点的类标号形成规则的后件(Then部分)。
例如,图3.1的决策树可以形成以下5条规则:If(年龄<40)and(职业=“学生” or 职业=“教师”)Then 信用等级=“优”If(年龄<40)and(职业!=“学生” and 职业!=“教师”)Then 信用等级=“良”If(年龄>=40)and(月薪<1000)Then 信用等级=“差”If(年龄>=40)and(月薪>=1000 and 月薪<=3000)Then 信用等级=“良”If(年龄>=40)and(月薪>3000)Then 信用等级=“优”这些规则即可应用到对未来观测样本的分类中了。
3.2 ID3、C4.5与C5.0ID3算法是最有影响力的决策树算法之一,由Quinlan提出。
ID3算法的某些弱点被改善之后得到了C4.5算法;C5.0则进一步改进了C4.5算法,使其综合性能大幅度提高。
但由于C5.0是C4.5的商业版本,其算法细节属于商业机密,因此没有被公开,不过在许多数据挖掘软件包中都嵌入了C5.0算法,包括Clementine。
3.2.1 ID31.信息增益任何一个决策树算法,其核心步骤都是为每一次分裂确定一个分裂属性,即究竟按照哪一个属性来把当前数据集划分为若干个子集,从而形成若干个“树枝”。
ID3算法采用“信息增益”为度量来选择分裂属性的。
哪个属性在分裂中产生的信息增益最大,就选择该属性作为分裂属性。
那么什么是信息增益呢?这需要首先了解“熵”这个概念。
熵,是数据集中的不确定性、突发性或随机性的程度的度量。
当一个数据集中的记录全部都属于同一类的时候,则没有不确定性,这种情况下的熵为0。
决策树分类的基本原则是,数据集被分裂为若干个子集后,要使每个子集中的数据尽可能的“纯”,也就是说子集中的记录要尽可能属于同一个类别。
如果套用熵的概念,即要使分裂后各子集的熵尽可能的小。
例如在一次分裂中,数据集D被按照分裂属性“年龄”分裂为两个子集D1和D2,如图3.2所示。
2.ID3算法的流程ID3算法是一个从上到下、分而治之的归纳过程。
ID3算法的核心是:在决策树各级节点上选择分裂属性时,通过计算信息增益来选择属性,以使得在每一个非叶节点进行测试时,能获得关于被测试样本最大的类别信息。
其具体方法是:检测所有的属性,选择信息增益最大的属性产生决策树节点,由该属性的不同取值建立分支,再对各分支的子集递归调用该方法建立决策树节点的分支,直到所有子集仅包括同一类别的数据为止。
最后得到一棵决策树,它可以用来对新的样本进行分类。
下面通过一个实例来了解一下决策树的构建过程。
表3-2是一个假想的银行贷款客户历史信息(略去了客户姓名),包含14个样本。
现要求以这14个样本为训练数据集,以“提供贷款”为类标号属性,用ID3算法构造决策树。
3.ID3算法的性能分析ID3算法是一种典型的决策树分析算法,后来发展的许多决策树算法都是以ID3算法为基础发展而来的。
ID3算法的优点在于它构建决策树的速度比较快,它的计算时间随问题的难度只是线性地增加,适合处理大批量数据集。
同时,ID3算法的缺点也是突出的,包括以下几点。
(1)ID3算法对训练样本的质量的依赖性很强,训练样本的质量主要是指是否存在噪声和是否存在足够的样本。
(2)ID3算法只能处理分类属性(离散属性),而不能处理连续属性(数值属性)。
在处理连续属性时,一般要先将连续属性划分为多个区间,转化为分类属性。
例如“年龄”,要把其数值事先转换为诸如“小于30岁”、“30~50岁”、“大于50岁”这样的区间,再根据年龄值落入了某一个区间取相应的类别值。
通常,区间端点的选取包含着一定的主观因素和大量的计算。
(3)ID3算法生成的决策树是一棵多叉树,分支的数量取决于分裂属性有多少个不同的取值。
这不利于处理分裂属性取值数目较多的情况。
因此目前流行的决策树算法大多采用二叉树模型。
(4)ID3算法不包含对树的修剪,无法对决策树进行优化。
正因为ID3还存在着许多不足的地方,Quinlan对ID3算法进行了改进,并于1993年提出了ID3的改进算法C4.5。
3.2.2 C4.5C4.5算法的核心思想与ID3完全相同,但在实现方法上做了更好的改进,并增加了新的功能。
主要包括:采用“增益比例”来选择分裂属性、对连续属性的处理、对样本属性值缺失情况的处理、规则的产生、交叉验证等。
1.用“增益比例”来选择分裂属性如前所述,ID3是采用“信息增益”来选择分裂属性的。
虽然这是一种有效地方法,但其具有明显的倾向性,即它倾向于选择具有大量不同取值的属性,从而产生许多小而纯的子集。
尤其是关系数据库中作为主键的属性,每个样本都有一个不同的取值。
如果以这样的属性作为分裂属性,那么将产生非常多的分支,而且每一个分支产生的子集的熵均为0(因为子集中只有一个样本!)。
显然,这样的决策树是没有实际意义的。
因此,Quinlan提出使用增益比例来代替信息增益。
2.连续属性的处理ID3最初的定义假设数据集的各属性都必须是离散的。
如果有连续属性,则可以采用划分区间的方法来离散化。
假如在前面的例子中,属性“年龄”由于是连续型属性,被划分为“<30”、“[30,50]”、“>50”3个区间,这样属性“年龄” 的不同取值就只有3个了,这就是被离散化的过程。