×

决策树算法

前端技术网 前端技术网 发表于2024-01-08 13:00:26 浏览1714 评论0

抢沙发发表评论

一、决策树计算公式

决策树计算公式公式:H(X)=–∑P(x)log[P(x)]H(x):表示熵 P(x):表示x事件发生的概率。

决策树法的具体计算过程:

决策树算法

(1)画出决策树,画决策树的过程也就是对未来可能发生的各种事件进行周密思考、预测的过程,把这些情况用树状图表示出来.先画决策点,再找方案分枝和方案点.最后再画出概率分枝。

(2)由专家估计法或用试验数据推算出概率值.并把概率写在概率分枝的位置上。

(3)计算益损期望值,从树梢开始,由右向左的顺序进行.用期望值法计算.若决策目标是盈利时,比较各分枝,取期望值最大的分枝,其他分枝进行修剪。

决策树分析法,是将构成决策方案的有关因素,以树状图形的方式表现出来,并据以分析和选择决策方案的一种系统分析法。它以损益值为依据。该方法特别适于分析比较复杂的问题。

(1)决策树的构成由决策结点“口”、方案枝、状态结点“O”和概率支构成。

(2)决策步骤决策树分析法的程序主要包括以下步骤:

决策树算法

①绘制决策树图形,按上述要求由左向右顺序展开。

②计算每个结点的期望值,计算公式为:

状态结点的期望值=Σ(损益值×概率值)×经营年限

③剪枝,即进行方案的选优。

方案净效果=该方案状态结点的期望值-该方案投资额

二、决策树的原理及算法

决策树基本上就是把我们以前的经验总结出来。我给你准备了一个打篮球的训练集。如果我们要出门打篮球,一般会根据“天气”、“温度”、“湿度”、“刮风”这几个条件来判断,最后得到结果:去打篮球?还是不去?

上面这个图就是一棵典型的决策树。我们在做决策树的时候,会经历两个阶段:构造和剪枝。

构造就是生成一棵完整的决策树。简单来说,构造的过程就是选择什么属性作为节点的过程,那么在构造过程中,会存在三种节点:

根节点:就是树的最顶端,最开始的那个节点。在上图中,“天气”就是一个根节点;

内部节点:就是树中间的那些节点,比如说“温度”、“湿度”、“刮风”;

叶节点:就是树最底部的节点,也就是决策结果。

剪枝就是给决策树瘦身,防止过拟合。分为“预剪枝”(Pre-Pruning)和“后剪枝”(Post-Pruning)。

预剪枝是在决策树构造时就进行剪枝。方法是在构造的过程中对节点进行评估,如果对某个节点进行划分,在验证集中不能带来准确性的提升,那么对这个节点进行划分就没有意义,这时就会把当前节点作为叶节点,不对其进行划分。

后剪枝就是在生成决策树之后再进行剪枝,通常会从决策树的叶节点开始,逐层向上对每个节点进行评估。如果剪掉这个节点子树,与保留该节点子树在分类准确性上差别不大,或者剪掉该节点子树,能在验证集中带来准确性的提升,那么就可以把该节点子树进行剪枝。

1是欠拟合,3是过拟合,都会导致分类错误。

造成过拟合的原因之一就是因为训练集中样本量较小。如果决策树选择的属性过多,构造出来的决策树一定能够“完美”地把训练集中的样本分类,但是这样就会把训练集中一些数据的特点当成所有数据的特点,但这个特点不一定是全部数据的特点,这就使得这个决策树在真实的数据分类中出现错误,也就是模型的“泛化能力”差。

p(i|t)代表了节点 t为分类 i的概率,其中 log2为取以 2为底的对数。这里我们不是来介绍公式的,而是说存在一种度量,它能帮我们反映出来这个信息的不确定度。当不确定性越大时,它所包含的信息量也就越大,信息熵也就越高。

ID3算法计算的是信息增益,信息增益指的就是划分可以带来纯度的提高,信息熵的下降。它的计算公式,是父亲节点的信息熵减去所有子节点的信息熵。

公式中 D是父亲节点,Di是子节点,Gain(D,a)中的 a作为 D节点的属性选择。

因为 ID3在计算的时候,倾向于选择取值多的属性。为了避免这个问题,C4.5采用信息增益率的方式来选择属性。信息增益率=信息增益/属性熵,具体的计算公式这里省略。

当属性有很多值的时候,相当于被划分成了许多份,虽然信息增益变大了,但是对于 C4.5来说,属性熵也会变大,所以整体的信息增益率并不大。

ID3构造决策树的时候,容易产生过拟合的情况。在 C4.5中,会在决策树构造之后采用悲观剪枝(PEP),这样可以提升决策树的泛化能力。

悲观剪枝是后剪枝技术中的一种,通过递归估算每个内部节点的分类错误率,比较剪枝前后这个节点的分类错误率来决定是否对其进行剪枝。这种剪枝方法不再需要一个单独的测试数据集。

C4.5可以处理连续属性的情况,对连续的属性进行离散化的处理。比如打篮球存在的“湿度”属性,不按照“高、中”划分,而是按照湿度值进行计算,那么湿度取什么值都有可能。该怎么选择这个阈值呢,C4.5选择具有最高信息增益的划分所对应的阈值。

针对数据集不完整的情况,C4.5也可以进行处理。

暂无

请你用下面的例子来模拟下决策树的流程,假设好苹果的数据如下,请用 ID3算法来给出好苹果的决策树。

「红」的信息增益为:1「大」的信息增益为:0

因此选择「红」的作为根节点,「大」没有用,剪枝。

数据分析实战45讲.17丨决策树(上):要不要去打篮球?决策树来告诉你

三、决策树的算法

C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:

1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;

2)在树构造过程中进行剪枝;

3)能够完成对连续属性的离散化处理;

4)能够对不完整数据进行处理。

C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。此外,C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。

具体算法步骤如下;

1创建节点N

2如果训练集为空,在返回节点N标记为Failure

3如果训练集中的所有记录都属于同一个类别,则以该类别标记节点N

4如果候选属性为空,则返回N作为叶节点,标记为训练集中最普通的类;

5for each候选属性 attribute_list

6if候选属性是连续的then

7对该属性进行离散化

8选择候选属性attribute_list中具有最高信息增益率的属性D

9标记节点N为属性D

10for each属性D的一致值d

11由节点N长出一个条件为D=d的分支

12设s是训练集中D=d的训练样本的**

13if s为空

14加上一个树叶,标记为训练集中最普通的类

15else加上一个有C4.5(R-{D},C,s)返回的点背景:

分类与回归树(CART——Classification And Regression Tree))是一种非常有趣并且十分有效的非参数分类和回归方法。它通过构建二叉树达到预测目的。

分类与回归树CART模型最早由Breiman等人提出,已经在统计领域和数据挖掘技术中普遍使用。它采用与传统统计学完全不同的方式构建预测准则,它是以二叉树的形式给出,易于理解、使用和解释。由CART模型构建的预测树在很多情况下比常用的统计方法构建的代数学预测准则更加准确,且数据越复杂、变量越多,算法的优越性就越显著。模型的关键是预测准则的构建,准确的。

定义:

分类和回归首先利用已知的多变量数据构建预测准则,进而根据其它变量值对一个变量进行预测。在分类中,人们往往先对某一客体进行各种测量,然后利用一定的分类准则确定该客体归属那一类。例如,给定某一化石的鉴定特征,预测该化石属那一科、那一属,甚至那一种。另外一个例子是,已知某一地区的地质和物化探信息,预测该区是否有矿。回归则与分类不同,它被用来预测客体的某一数值,而不是客体的归类。例如,给定某一地区的矿产资源特征,预测该区的资源量。

四、决策树算法的典型算法

决策树的典型算法有ID3,C4.5,CART等。

国际权威的学术组织,数据挖掘国际会议ICDM(the IEEE International Conference on Data Mining)在2006年12月评选出了数据挖掘领域的十大经典算法中,C4.5算法排名第一。C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法。C4.5算法产生的分类规则易于理解,准确率较高。不过在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,在实际应用中因而会导致算法的低效。

决策树算法的优点如下:

(1)分类精度高;

(2)生成的模式简单;

(3)对噪声数据有很好的健壮性。

因而是目前应用最为广泛的归纳推理算法之一,在数据挖掘中受到研究者的广泛关注。

关于本次决策树算法和决策树计算公式的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。