基于决策树的经典算法综述

合集下载

决策树很详细的算法介绍

决策树很详细的算法介绍

决策树很详细的算法介绍决策树(Decision Tree)是一种常用的机器学习算法,它模拟人类决策过程的思维方式,能够通过学习已有数据集建立一个树状模型,来进行分类和回归的预测。

它可以处理具有离散和连续属性的数据,并具有较好的可解释性和易于理解的特点。

本文将对决策树算法进行详细介绍。

一、决策树算法的基本原理决策树算法基于“分而治之”的思想,将复杂的问题分解为一系列简单的决策判断,从而构建一个树状模型。

决策树的根节点表示最初的决策,内部节点代表决策的中间过程,叶节点表示最终的决策结果。

决策树的构建过程包括特征选择、树的生成和剪枝三个步骤。

特征选择是决策树算法中非常重要的一步,目的是选择对结果预测有最大分类能力的特征作为划分标准。

经典的特征选择方法有信息增益(ID3)、增益比(C4.5)和基尼指数(CART)等。

信息增益以信息熵的减少量作为特征选择的标准,增益比在信息增益的基础上,对特征本身的信息熵做出惩罚,而基尼指数则衡量数据集的不确定性。

树的生成是决策树算法的核心部分,它可以通过递归地将训练数据划分为不同的子集,直到子集中的数据属于同一类别为止。

生成过程中,通过计算选择的特征对数据集进行划分,并将数据集按照该特征的取值划分为若干子集。

重复这个划分过程,直到每个子集中的数据都属于同一类别,或者没有更多的特征可以选择。

决策树的剪枝是为了防止过拟合现象的发生,过拟合指的是决策树建立过于复杂,过多地考虑了数据集的特殊噪声和异常情况,导致模型在测试数据上表现较差。

剪枝的目标是通过去掉一些分支来简化树模型,提高模型的泛化能力。

决策树剪枝算法有预剪枝和后剪枝两种方式,预剪枝在生成树的过程中进行剪枝,后剪枝在生成树之后进行剪枝。

二、决策树的优势和不足决策树算法具有以下优势:1.决策树易于理解和解释,生成的规则形式直观,能够为决策提供明确的解释。

2.决策树算法是一种非参数方法,对数据的分布没有假设,适用于各种类型的数据。

基于决策树的推荐算法

基于决策树的推荐算法

基于决策树的推荐算法一、决策树算法介绍决策树是一种基于树型结构的分类与回归算法,将问题划分成树的节点和叶子节点,节点表示问题的判断或属性,叶子节点表示问题的结果或类别。

决策树通过选择最优的属性来划分数据,并递归地构建树,最终实现对待预测样本的分类。

决策树算法具有易理解、易实现、可处理各种数据类型和能够处理缺失值的优点。

二、决策树个性化推荐算法原理1.数据预处理:首先从用户历史行为数据中提取特征。

特征可以包括用户ID、物品ID、物品评分、物品类别等。

2.数据划分:将数据集划分为训练集和测试集。

训练集用于构建决策树模型,测试集用于评估模型的准确性。

3.特征选择:选择最优的特征作为划分标准。

常用的特征选择方法有信息增益、信息增益比、基尼指数等。

4.决策树构建:根据选择的特征,递归地构建决策树。

每个节点代表一个特征,叶子节点代表最终的推荐结果。

5.决策准则:选择适用的决策准则来判断决策树的生长停止条件,例如节点中的样本属于同一类别、节点中的样本数不超过阈值等。

6.决策树剪枝:对构建好的决策树进行剪枝处理,减少过拟合的风险。

常用的剪枝方法有预剪枝和后剪枝。

7.推荐结果:根据决策树模型,对待推荐的物品进行预测,并将预测结果作为推荐结果返回给用户。

三、基于决策树的推荐算法优势与应用场景1.优势:(1)易解释:决策树的结构非常直观,可以对模型的决策过程进行解释和理解。

(2)适用性强:决策树算法适用于离散型和连续型的特征,可以处理多分类和回归问题。

(3)能够处理缺失值:在决策树的构造过程中,可以通过合适的方式处理缺失值。

(4)灵活性高:决策树可以通过调整参数来控制树的生长与剪枝,具有较高的灵活性。

2.应用场景:(1)个性化推荐系统:基于用户历史行为和物品特征,进行物品的个性化推荐。

(2)文本分类:根据文本的特征来进行分类,例如垃圾邮件过滤、新闻分类等。

(3)医疗诊断:根据病人的症状特征来判断患病可能性,提供初步的诊断结果。

基于决策树的数据挖掘算法

基于决策树的数据挖掘算法

基于决策树的数据挖掘算法从数据挖掘的角度来看,决策树是一种在监督学习中被广泛应用的方法。

它是一个基于树状结构的模型,可以用来处理各种类型的数据,包括定量和定性的数据、连续和离散的数据等。

决策树的本质是建立一种映射关系,将输入数据的特征与输出的结果联系起来,并在此基础上进行分类或预测。

决策树算法具有简单、直观、易于理解等优点,因此被广泛应用于数据挖掘、机器学习、人工智能等领域。

一、决策树算法介绍决策树是一种具有层级结构的图形模型,由根节点、内部节点、叶子节点组成。

根节点表示整个数据集,内部节点表示特征属性,叶子节点表示具体的分类或回归结果。

在决策树算法中,需要针对某个特定属性选择一个最优的分裂点,将数据集划分为多个子集,然后在每个子集上递归地应用相同的分裂策略。

这个过程一直持续到所有属性都被用完,或者数据集达到某个特定条件(如纯度达到一定值)为止。

最终得到一棵决策树,可用于分类或者回归预测。

二、决策树算法的特点(一)简单易用相对于其他算法(如神经网络、支持向量机等),决策树算法的实现比较简单,不需要太多的数学知识。

决策树的结构非常直观,容易理解和解释,可以用于可视化和分析。

同时,决策树算法的运行速度比较快,适用于大规模的数据处理需求。

(二)可解释性强决策树模型可以被看做是一种“逻辑规则”模型,对于输入数据的分类或预测结果,可以通过直接的路径分析和决策规则来解释。

因此,决策树模型在医疗、金融、面向消费者的应用等场景中具有很高的可接受度。

同时,由于其可解释性强,也是决策树被用于透明度要求较高的领域的原因之一。

(三)很容易过拟合决策树算法的一个缺点是容易产生过拟合问题。

由于决策树算法采用贪心算法,往往不能够获得全局最优解,因此容易导致模型没有泛化能力,无法在新数据上进行有效的预测。

(四)对错误数据敏感由于决策树算法是基于离散特征进行分类的,对于噪声和错误数据比较敏感。

如果输入数据存在错误或者缺失值,会影响模型的分类和预测效果。

经典算法CART

经典算法CART

经典算法CARTCART(Classification And Regression Trees)是一种经典的算法,用于建立分类和回归树模型。

它是由Leo Breiman在1984年首次提出的,目前被广泛应用于数据挖掘和机器学习领域。

CART算法基于决策树的思想,可以将输入数据集分割成多个小的子集,每个子集代表一个决策树节点。

通过对特征的选择和分割,可以使得每个子集的纯度更高,即同一类别的样本更多。

最终,CART算法会生成一棵满足纯度要求的决策树模型。

CART算法的主要步骤如下:1. 特征选择:CART算法使用其中一种准则来选择最佳的特征。

常用的准则包括基尼指数(Gini index)和信息增益(information gain)。

基尼指数衡量了数据集的不纯度,而信息增益衡量了特征对数据集纯度的贡献程度。

选择具有最大基尼指数或信息增益的特征作为当前节点的划分特征。

2.划分数据集:根据划分特征的取值将数据集分成多个子集。

对于离散特征,每个取值对应一个子集;对于连续特征,可以选择一个划分点将数据集分成两个子集。

3.递归建立子树:对每个子集,重复步骤1和步骤2,递归地建立子树。

直到达到停止条件,例如达到最大深度或纯度要求。

4.剪枝处理:为了避免过拟合,CART算法会对生成的决策树进行剪枝处理。

根据其中一种评估准则,剪去部分子树或合并子树。

CART算法具有一些优点,使得它成为一种经典的算法。

首先,CART算法可以处理离散特征和连续特征,非常灵活。

其次,CART算法生成的决策树易于理解和解释,可以用于预测和决策解释。

此外,CART算法还能处理多分类和回归问题。

然而,CART算法也存在一些限制。

首先,CART算法只能生成二叉树,即每个节点只有两个分支。

这可能会导致决策树过于复杂,需要更多的分支来表示复杂的决策边界。

其次,CART算法在处理高维数据和数据不平衡的情况下可能会遇到困难,需要进行特殊处理。

总结起来,CART算法是一种经典的算法,用于建立分类和回归树模型。

基于树结构进行决策的算法

基于树结构进行决策的算法

基于树结构进行决策的算法基于树结构进行决策的算法是一种常见且有效的方法。

树结构可以提供清晰的可视化表示,并可以对复杂的决策问题进行分解和组织,使得决策过程更加可靠和可解释。

以下将介绍几种常见的基于树结构进行决策的算法,包括决策树、随机森林和梯度提升树。

1. 决策树(Decision Tree): 决策树是一种基于树结构的决策模型,用于在给定的数据上进行分类或回归。

决策树通过选择一个最佳属性将数据集分割为更小的子集,然后递归地在每个子集上重复该过程,直到达到一些条件(如纯净的叶子节点)为止。

常用的决策树算法包括ID3、C4.5和CART。

2. 随机森林(Random Forest): 随机森林是一种集成学习方法,通过构建多个决策树来进行决策。

随机森林首先对原始数据进行有放回的随机抽样(bootstrap),然后对每个抽样数据集构建决策树。

最终的预测结果是基于所有决策树的平均或投票结果。

由于随机森林在训练每个决策树时使用了随机样本和随机特征子集,因此具有抗过拟合能力。

3. 梯度提升树(Gradient Boosting Tree): 梯度提升树是一种迭代的集成学习方法,通过逐步构建决策树来进行决策。

梯度提升树通过计算损失函数的梯度来拟合模型的残差,然后使用决策树来近似这个残差。

通过迭代地添加决策树来不断改进模型,最终得到一个强大的集成模型。

常用的梯度提升树算法包括GBDT(Gradient Boosting Decision Tree)和XGBoost(eXtreme Gradient Boosting)等。

1.可解释性:决策树、随机森林和梯度提升树等算法基于树结构,可以提供易于解释和理解的决策过程。

每个分支节点和叶子节点都可以通过特定的条件和规则进行解释,使得决策过程更加透明和可靠。

2.适应性:树结构可以自然地处理离散型和连续型特征,而不需要过多的数据预处理。

树结构还可以处理包含缺失值的数据,并且对异常值和噪声具有一定的容错能力。

经典决策树算法

经典决策树算法

经典决策树算法经典决策树算法是一种常用的机器学习算法,它通过构建一棵树形结构来进行分类或回归预测。

下面将介绍十个经典决策树算法及其特点。

1. ID3算法ID3算法是决策树算法中最早的一种,它使用信息增益来选择最优的划分属性。

ID3算法适用于离散型属性的分类问题,但对于连续型属性的处理较为困难。

2. C4.5算法C4.5算法是ID3算法的改进版,它引入了信息增益比来解决ID3算法的缺点。

C4.5算法还支持处理连续型属性,能够处理缺失值,并且可以生成带有概率估计的决策树。

3. CART算法CART算法是一种通用的决策树算法,可用于分类和回归问题。

CART算法使用基尼指数来选择最优的划分属性,能够处理连续型和离散型属性,也能处理缺失值。

4. CHAID算法CHAID算法是一种用于分类问题的决策树算法,它使用卡方检验来选择最优的划分属性。

CHAID算法能够处理离散型属性和有序离散型属性,但对于连续型属性的处理较为困难。

5. MARS算法MARS算法是一种基于决策树的回归算法,它使用逐步回归和最小二乘法来构建决策树。

MARS算法能够处理连续型和离散型属性,并且可以生成非线性的决策树。

6. Random Forest算法Random Forest算法是一种集成学习算法,它通过构建多棵决策树并进行投票来进行分类或回归预测。

Random Forest算法能够处理连续型和离散型属性,具有较高的准确性和鲁棒性。

7. Gradient Boosting算法Gradient Boosting算法是一种迭代的决策树算法,它通过逐步优化损失函数来构建决策树。

Gradient Boosting算法能够处理连续型和离散型属性,具有较高的准确性和泛化能力。

8. XGBoost算法XGBoost算法是一种基于梯度提升的决策树算法,它通过正则化和并行计算来提高决策树的性能。

XGBoost算法能够处理连续型和离散型属性,并且具有较高的准确性和效率。

分类算法综述范文

分类算法综述范文1.决策树算法决策树是一种基于树结构的分类算法,通过一系列的判断节点和叶子节点来对数据进行分类。

决策树算法具有模型结构清晰、易于理解和解释的优点,在决策树的构建过程中通常采用信息增益、基尼指数等方法来选择最优的特征。

优点:决策树算法适用于处理具有离散型特征的数据,其结果易于解释和理解。

缺点:决策树算法容易过拟合,泛化能力相对较弱,对于连续型特征不太适用。

适用场景:决策树算法常用于文本分类、垃圾邮件过滤等。

2.朴素贝叶斯算法朴素贝叶斯算法是一种基于概率统计的分类算法,它假设特征之间相互独立,通过计算给定特征条件下目标变量的后验概率来进行分类。

优点:朴素贝叶斯算法具有简单快速、易于实现的优点,适用于处理大规模数据集。

缺点:朴素贝叶斯算法假设特征之间相互独立,这在实际数据中往往不符合,因此分类效果可能不太准确。

适用场景:朴素贝叶斯算法常用于文本分类、垃圾邮件过滤等。

3.支持向量机算法支持向量机算法是一种二分类的线性分类算法,通过构建一个最优超平面将不同类别的数据分隔开。

优点:支持向量机算法能够处理高维数据和非线性数据,具有很好的泛化能力。

缺点:支持向量机算法在处理大规模数据集时计算复杂度较高,对于噪声数据较敏感。

适用场景:支持向量机算法常用于人脸识别、手写数字识别等。

4.K近邻算法K近邻算法是一种基于实例的分类算法,通过计算待分类样本与训练集中的样本之间的距离来确定其类别。

优点:K近邻算法简单直观,对于对称样本分布有较好的效果。

缺点:K近邻算法在处理大规模数据集时计算复杂度较高,对噪声和异常值较敏感。

适用场景:K近邻算法常用于个性化推荐、文本分类等。

5.集成学习算法集成学习算法是一种将多个分类器组合起来进行分类的算法,通过投票或加权平均的方式将各个分类器的结果进行整合。

优点:集成学习算法能够克服单一分类器的不足,提高分类的准确性和泛化能力。

缺点:集成学习算法在模型训练的过程中需要消耗较多的计算资源。

基于决策树的经典算法综述

I (p , n ) = p p + n n p + n
v
E (A ) =
∑m
j
pi
I (E i )
( 2. 5)
I D 3 算法是最经典的决策树算法, 应用非常广 泛, 但它存在着很多不足: ( 1) 存在种类偏见问题, 即
信息增益的计算倾向于选择取值较多的属性, 但取 值多的属性不一定是最优的; ( 2) I D 3 算法构造的决 策树是单变量决策树, 忽略了属性间的相互联系; ( 3) I D 3 算法不能直接处理连续性属性; ( 4 ) 不能处 理属性值空缺的样本。 也正是因为 I D 3 算法存在着 以上不足, Q u in lan 于 1993 年又研制了 C 4. 5 系统。
宿 州 学 院 学 报
Journa l of Suzhou Col lege
Vol. 22, No. 2 Apr . 2 0 0 7
基于决策树的经典算法综述
路红梅1, 2
( 1. 合肥工业大学 计算机与信息学院, 安徽 合肥 230009; 2. 宿州学院 人工智能与数据挖掘研究室, 安徽 宿州 234000)
I D 3 的基本原理是基于二叉分类问题, 但很容
易将其扩展到多叉分类上。假设训练集中共有m 个 样 本, 样本分别属于 c 个不同的类, 每个类的样本个 数为 P i, i= 1, 2, …, c, 假设还以属性A 作为测试属 性, E i 中含有第 j 类样本的个数为 P ij, j= 1, 2, …, c, 那么, 子集 E i 的信息熵是:
在 CL S 的基础上, 后人陆续提出了多种决策树
91
学 习算法, 其中最为有影响的是Q u in lan 于 1986 年 [3] 提出的 I D 3 算法 。 I D 3 名称的由来是因为它是一系 列的 “交 互 式 二 分 法” 程 序 的 第 3 版 ( In teract ive D icho tom izer23) 。 I D 3 对CL S 主要做了两方面的修改: ( 1) 增加了 窗口技术; ( 2) 提出以信息熵作为选取测试属性的标 准。 在 CL S 算法中, 每次运行算法时要知道所有训 练实例, 若训练实例集过大, 无法一次全部放人内 存, 则算法运行时会发生一些问题。Q u in lan 在 I D3 算法中通过引入窗口 (w indow s) 的方法进行增量式 学习解决了这个问题。 信息熵的下降速度是 I D 3 中关键的选取测试属 性的标准, 信息熵的下降也就是信息不确定性的下 降。 假设向量空间 E 中的正例集 PE 和反例集 N E 的大小分别为 p 和 n, 则按照香农的信息论, 在该空 间中的信息熵为:

随机森林算法综述

随机森林算法综述随机森林算法是一种强大的集成学习方法,它结合了决策树的预测能力和随机性的优点,被广泛应用于分类和回归问题中。

本文将对随机森林算法进行综述,包括其原理、优缺点、应用领域和发展趋势等方面的内容。

1. 随机森林算法原理随机森林算法是基于决策树的集成学习方法。

它通过构建多棵决策树,并将它们的结果进行集成来实现预测。

具体来说,随机森林算法随机选择样本和特征来构建每棵决策树,然后通过投票或取平均值的方式来决定最终的预测结果。

这种随机性的引入可以有效降低过拟合的风险,提高模型的泛化能力。

2. 随机森林算法优缺点随机森林算法的优点包括:(1)对缺失值和异常值具有较好的鲁棒性;(2)能够处理高维度的数据集;(3)具有较高的准确率和泛化能力;(4)能够评估特征的重要性。

随机森林算法的缺点包括:(1)模型的可解释性较差;(2)需要较大的计算资源和训练时间;(3)可能在处理噪声较大的数据集时性能下降。

3. 随机森林算法应用领域随机森林算法在各个领域都有广泛的应用,包括但不限于:(1)金融领域:用于信用评分、风险管理等;(2)医疗领域:用于疾病预测、诊断等;(3)电商领域:用于推荐系统、用户行为分析等;(4)工业领域:用于故障诊断、质量控制等。

4. 随机森林算法发展趋势随机森林算法作为一种经典的集成学习方法,一直在不断发展和完善。

未来随机森林算法的发展趋势包括但不限于:(1)提高算法的效率和性能,减少模型的计算成本;(2)进一步提升模型的泛化能力和鲁棒性;(3)结合深度学习等新技术,实现更强大的模型集成;(4)探索在大规模数据集和高维数据下的应用场景。

综上所述,随机森林算法作为一种强大的集成学习方法,具有广泛的应用前景和发展空间。

通过不断的研究和优化,随机森林算法将在各个领域发挥重要的作用,为解决实际问题提供有效的解决方案。

基于决策树的经典算法综述

决 策树 的 优 化 研 究 提 供 了借 鉴 。
关 键 词 ; 策树 ; 据挖 掘 ; 类 决 数 分
中 图 分 类号 : 3 2 TP 1
文 献标 识码 : A
文 章 编 号 :6 3 20 (0 7 0 —0 9 —0 17— 0620)2 01 5
人 工 智 能 已经 发 展 了 多种 技 术来 建 造 分 类 模 型 , 中决 策树是 一种 常用 的模型 。 其 决策 树 曾在 相 当 长的时 间内是 一 种非 常流行 的人工 智能 技术 。 O世 2 纪8 O年 代 , 它是 构 建 人工 智 能系 统 的主 要 方 法 之
( ) 决 策 树 T 的 初 始 状 态 只含 有 一 个 树 根 1令 ( Q) 其 中 x是 全 体 训练 实例 的集 合 , 是 全体 x, , Q
测试 属性 的集合 ;
( ) T的所 有 叶结 点 ( Q ) 有如 下 状态 : 2若 X , 都
1 决 策 树 与 分 类
( ) 于 Q, 照一 定 规 则 选 取 测 试 属 性 b 设 4对 按 , x, b的不 同取 值 分 为 r 个 不相 交 的 子 集 X i 被 f 1 ,1 ≤ i f 从 ( Q ) 出 r 个分 叉 , ≤r , x , 伸 l f 1 每个 分叉 代表 b 的 一 个 不 同取 值 , 而 形 成 r 个 新 的 叶结 点 ( 从 f 1 xt ,
个 叶结 点 , 构造 决策树 。 来 在 C S算 法中 , L 没有 明确 给 出测试 属性 的选 取 标准 , 以 C S有 很 大的改进 空 间。 所 L
决 策树 算 法
2 1 C S算法 . L
收稿 日期 0 60—2 2 0—92 基 金 支 持 : 擞 省 教 育 厅 自然科 学基 金 项 目( o 6 j 9 B 。 安 2 o ko 1 ) 作 者 简 介 : 虹梅 (9 5 )女 , 路 16 一 , 山东聊 城 人 , 教 授 , 职 项 副 在 士, 究方向: 工智能、 研 人 数据 挖 掘 和 计 算机 控 制 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

测试属性的集合; ( 2) 若 T 的所有叶结点 (X ′ ) 都有如下状态: ,Q ′ 或者第一个分量 X ′ 中的训练实例都属于同一个类, 或者第二个分量 Q ′ 为空, 则停止执行学习算法, 学 习的结果为 T; ( 3 ) 否则, 选取一个不具有步骤 ( 2 ) 所述状态的
); 叶结点 (X ′ , Q′ ( 4) 对于Q ′ 按照一定规则选取测试属性 b, 设X ′
人工智能已经发展了多种技术来建造分类模 型, 其中决策树是一种常用的模型。 决策树曾在相当 长的时间内是一种非常流行的人工智能技术。20 世 纪 80 年代, 它是构建人工智能系统的主要方法之 一。20 世纪 90 年代初, 这一技术随着人工智能遭遇 低潮而逐渐不为人所注意。然而, 20 世纪 90 年代后 期, 随着数据挖掘技术的兴起, 决策树作为一个构建 决策系统的强有力的技术而重新浮出水面。 随着数 据挖掘技术在商业智能等方面的应用, 决策树技术 将在未来发挥越来越强大的作用 。
2. 3 C 4. 5 算法
[4] C 4. 5 算法 是以 I D 3 算法为核心的完整的决
策树生成系统。 它通过两个步骤来建立决策树: 树的 生成阶段和树的剪枝阶段。 与 I D 3 不同, C 4. 5 选取 使得信息增益率最大的属性作为测试属性, 信息增 益率等于信息增益对分割信息量的比值, 定义如下: ga in (A ) ( 2. 6) ga in ra t io (A ) = sp lit i (A )
v
E (A ) =
∑p
i
pi
i
+ ni
I (p i , n i )
( 2. 2)
因此, 以A 为根的信息增益是: ( 2. 3) ga in (A ) = I ( p , n ) - E (A ) 式 ( 2. 2) 的值越小则式 ( 2. 3 ) 的值越大, 说明选 择 测试属性A 对于分类提供的信息越大, 选择A 之 后 对分类的不确定程度越小。 I D 3 就是选择 ga in (A ) 最大的属性A 作为测试属性。根据A 的不同取 值, 生成A 的子结点A l , A 2 , …, A v。
第 22 卷第 2 期 2 0 0 7 年 4 月
宿 州 学 院 学 报
Journa l of Suzhou Col lege
Vol. 22, No. 2 Apr . 2 0 0 7
基于决策树的经典算法综述
路红梅1, 2
( 1. 合肥工业大学 计算机与信息学院, 安徽 合肥 230009; 2. 宿州学院 人工智能与数据挖掘研究室, 安徽 宿州 234000)
c
I (E i ) = -
∑p
j
p ij
i
log (
p ij ) pi
( 2. 4)
属性A 的期望信息熵为:
92
时, 先将不含空缺属性值的样本按照一定的算法划 分为几个子集, 然后把那些丢失测试属性值的样本 按照一定的概率分布到各个子集中, 子集中含有空 缺测试属性值的样本与有测试属性值的样本保持一 个比例关系; 在对含有空缺测试属性值的未知实例 进行分类时, C 4. 5 将该实例通过所有的分支, 然后 将结果进行合并, 使他成为在类上的概率分布而不 是某一个类, 然后选择具有最大概率的类作为最终 的分类结果。 C 4. 5 算 法 生 成 决 策 树 之 后, 还 将 进 行 树 剪 枝。 对每个叶子结点, 分类错误率为该结点中不属 于该结点所表示类别的样本的权值之和; 对于非叶 结点, 分类错误率为它的各个孩子结点的分类错误 率之和。 如果计算出某结点N 的分类错误率超过了 将结点N 所代表的样本集 T 中的所有样本分配为 T 中出现最多的类别所得的分类错误, 则将结点N 的所有子枝剪去, 使N 成为叶结点, 将 T 中出现最 多的类别分配给它。 由于 C 4. 5 采用训练样本集来 估计分类错误率, 因此会使得到的决策树融进了训 练集中的某些异常, 而这些异常通常在总体样本中 并 不 出 现, 从 而 导 致 决 策 树 倾 向 于 过 度 拟 合 (O verfit t ing ) 。这个缺陷可以使用一种悲观估计来 补偿, 即选择一组独立于训练样本集的测试样本集 来优化决策树。 与I D 3 算法相比, C4. 5 算法在效率上有了很大 的提高。 不仅可以直接处理连续型属性, 还可以允许 训练样本集中出现属性空缺的样本, 生成的决策树 的分枝也较少。 但是, C 4. 5 算法在选择测试属性, 分 割样本集上所采用的技术仍然没有脱离信息熵原 理, 因此生成的决策树仍然是多叉树。 如果想生成结 构更为简洁的二叉树, 必须采用新的原理来分割样 本集。 另外, C 4. 5 算法没有考虑属性之间的联系, 仍 然是一个单变量的决策树系统。I D 3 算法和C4. 5 算 法虽然在对训练样本集的学习中可以尽可能多地挖 掘信息, 但其生成的决策树分枝较多, 规模较大。 为 了简化决策树的规模, 提高生成决策树的效率, 又出 现了根据 G I N I 系数来选择测试属性的决策树算法 CA R T。
摘要: 决策树是一种重要的数据挖掘方法。 本文对几种经典的决策树算法进行了综述, 并对其进行了分析比较, 为 决策树的优化研究提供了借鉴。 关键词: 决策树; 数据挖掘; 分类 中图分类号: T P 312 文献标识码: A 文章编号: 1673- 2006 ( 2007) 02- 0091- 05
I (p , n ) = p p + n n p + n
v
E (A ) =
∑m
j
pi
I (E i )
( 2. 5)
I D 3 算法是最经典的决策树算法, 应用非常广 泛, 但它存在着很多不足: ( 1) 存在种类偏见问题, 即
信息增益的计算倾向于选择取值较多的属性, 但取 值多的属性不一定是最优的; ( 2) I D 3 算法构造的决 策树是单变量决策树, 忽略了属性间的相互联系; ( 3) I D 3 算法不能直接处理连续性属性; ( 4 ) 不能处 理属性值空缺的样本。 也正是因为 I D 3 算法存在着 以上不足, Q u in lan 于 1993 年又研制了 C 4. 5 系统。
[1]
1966 年由 H un t 等人提出了第一个用于构造决
策树的概念学习系统 CL S [ 2 ] , 后来的许多决策树学 习算法都可以看作是对 CL S 算法的改进与更新。
CL S 算法的主要思想是从一个空的决策树出
发, 通过添加新的判定结点来完善原来的决策树, 直 至该决策树能够正确分类训练实例为止。
假设属性A 作为决策树根的测试属性,A 具有v 个 不同的离散值 v 1 , v2 , …, vv 它将 E 分为 v 个子集 E 1 , E 2 , …, E v , 假设 E i 中含有 p i 个正例和 n i 个反例, 子集 E i 的信息熵为 I (p i, n i ) , 以属性A 为测试属性 的期望信息熵为:
v
log (
p p + n
) -
n p + n
sp lit i (A ) = ( 2. 1)

i
log (
pi ) m
( 2. 7)
log (
) ( p ≠ 0, n ≠ 0)
I ( p , n ) = 0 ( p = 0 或 n = 0)
此选取标准能够克服偏向取值多的属性的毛病, 但 其更偏向于选择属性值取值比较集中的属性 ( 即熵 值最小的属性) , 而该属性不一定是对分类贡献最大 最重要的属性。另外, 当属性A 只有一个属性值时, sp lit i (A ) 取值为零, 此时使得信息增益率无意义或 者使得决策树进行一次没有意义的分类。 对于连续值属性A , C 4. 5 按照属性的信息增益 率将其划分为两个不同的子集: 属性值大于分割点 和属性值小于等于分割点。 即使用如下的测试形式: A ≤ r 和A > r, r 为分割点。C4. 5 寻找最优的 r 的方 法是: ( 1 ) 首先采用快速排序法将训练集的样本根据 属性A 的值排序; ( 2) 然后按顺序逐一将两个相邻的样本的A 的 平均值 r= (A 1 + A 2) 2 作为分割点 ( 假设训练集有 n 个样本, 则共有 n- 1 个分割点) 。每个分割点都可 将训练集划分为两个子集, 划分后所得的信息增益 ga in r , 线性扫描 r1 , r2 , …, rn- 1 , 比较所有可能的分割 点, 使得ga in r 最大并将其作为最优的分割点 r。按照 上述方法求出当前侯选属性集所有属性的信息增益 率, 选出信息增益率最高的属性, 然后按照该属性的 分割点, 将当前样本分为两个子样本集。 对子样本集 采用同样的方法继续分割直到不能再分割或达到停 止条件为止。 C 4. 5 处理空缺属性值的方法是: 在计算系统 整体的不确定时, 只根据那些已知测试属性值的样 本来计算; 在计算根据某属性划分后的信息熵时, 把 那些丢失测试属性值的样本作为一个新的子样本 集, 单独计算这些样本的期望信息熵; 在划分训练集
被 b 的不同取值分为m 个不相交的子集X ′ i, 1 ≤ i≤ ) 伸出m 个分叉, 每个分叉代表 b 的一 ,Q ′ m , 从 (X ′ 个 不同取值, 从而形成 m 个新的叶结点 (X ′ i, Q ′ {b} ) , 1≤ i≤m ;
( 5) 转步骤 ( 2) 。
从 CL S 算法的描述可以看出, 决策树的构造过 程是一个假设特化的过程, CL S 算法可以看作是只 带一个操作符的学习算法, 此操作符可以表示为: 通 过添加一个新的判定条件 ( 新的判定结点) , 特化当 前假设。 CL S 算法递归调用这个操作符, 作用在每 个叶结点, 来构造决策树。 在 CL S 算法中, 没有明确给出测试属性的选取 标准, 所以 CL S 有很大的改进空间。
在 CL S 的基础上, 后人陆续提出了多种决策树
相关文档
最新文档