决策树模型(简单例子理解原理)
Posted feynmania
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了决策树模型(简单例子理解原理)相关的知识,希望对你有一定的参考价值。
1.决策树思想:以信息增量作为指标,得出最高效的一种决策方案,可用于回归或者分类问题。【由if-else演化而来,后续可发展成机器学习中的随机森林算法】
2.决策树指标:
信息熵:表示(某种事物)随即不确定性的大小。
样本:假设一个人身上有四种属性,分别是年龄【青年,中年,老年】,是否有工作【有工作,没有工作】,是否有房【有房,没房】,信用等级【非常好,好,一般好】;
2.决策树指标:
信息熵:表示(某种事物)随即不确定性的大小。
样本:假设一个人身上有四种属性,分别是年龄【青年,中年,老年】,是否有工作【有工作,没有工作】,是否有房【有房,没房】,信用等级【非常好,好,一般好】;
现在样本中有15个人,他们四种属性的值不完全相同,相应的,其中的一人去银行贷款,银行是否会贷款给他的结果也不同。
在这个问题中,在我们不知道这个人的各个属性值时,银行是否同意借贷给他这一件事,对我们来说是完全随机不确定的,这时候信息熵是最大的。根据样本我们可以得出总的信息熵【样本中15个人中6不同意,9同意】
信息熵公式:H(D)=- sump(xi)*log(p(xi)): 【对数底随便取,一般取2?】
该问题中总的信息熵为 H(D)= -(6/15*log(6/15) +9/15*log(9/15));
现在已经知道总的信息熵,下一步做什么呢?
对于这个问题,我们想要知道的是最终银行会不会同意借贷给这个人(这就是目标值),(假设)因为银行是根据这个人的四个属性来决定是否同意,但我们不知道银行根据什么样的规则来选择,银行的选择方法在我们看来就是一个“黑箱”,那么我们如何找到哪个最高效的决策路径呢?所谓的最高效指的是知道尽量少个数的特征得出目标值。观察样本后我们发现通过先后决策“是否有房”和“是否有工作”这两个特征就足以得到样本中对应的目标值。如果先后决策“年龄”“信用等级”“是否有工作”这三个特征才能得出目标值。所以通过观察样本数据我们得出结论:
在这个问题中,在我们不知道这个人的各个属性值时,银行是否同意借贷给他这一件事,对我们来说是完全随机不确定的,这时候信息熵是最大的。根据样本我们可以得出总的信息熵【样本中15个人中6不同意,9同意】
信息熵公式:H(D)=- sump(xi)*log(p(xi)): 【对数底随便取,一般取2?】
该问题中总的信息熵为 H(D)= -(6/15*log(6/15) +9/15*log(9/15));
现在已经知道总的信息熵,下一步做什么呢?
对于这个问题,我们想要知道的是最终银行会不会同意借贷给这个人(这就是目标值),(假设)因为银行是根据这个人的四个属性来决定是否同意,但我们不知道银行根据什么样的规则来选择,银行的选择方法在我们看来就是一个“黑箱”,那么我们如何找到哪个最高效的决策路径呢?所谓的最高效指的是知道尽量少个数的特征得出目标值。观察样本后我们发现通过先后决策“是否有房”和“是否有工作”这两个特征就足以得到样本中对应的目标值。如果先后决策“年龄”“信用等级”“是否有工作”这三个特征才能得出目标值。所以通过观察样本数据我们得出结论:
不同的特征在决策中占据的”比重“是不一样的,有的对目标值影响大,有的影响小,那么问题就变成需要将特征对目标值的影响如何定量地表示出来。
这里引进信息增量和条件熵的概念。
1)条件熵:H(D|年龄);H(D|信用等级),….
条件熵计算公式:【样本中有青/中/老年分别有5个】
①H(D|年龄)=5/15*H(D|青年)+5/15*H(D|中年)=5/15*H(D|老年)
【比如说青年中同意贷款有2个;中年中同意贷款有4个,老年中同意贷款有3个】
②计算各个分量
H(D|青年)= -(2/5*log(2/5)+3/5*log(3/5));
H(D|中年)= -(4/5*log(4/5)+1/5*log(1/5));
H(D|老年)= -(3/5*log(3/5)+2/5*log(2/5));
2)信息增量计算公式:g(D,年龄)=H(D)-H(D|年龄)
信息增量表示的是,知道了这个特征(信息),能够减少的目标值的不确定性。所以某一特征对应的信息增量越大,表示该特征对目标值的影响程度越大,在决策树中应该排在越前面。
通过比较不同特征的信息增量,可以得出决策树中不同特征的排列顺序,从而得出对于预测新样本的目标值最高效的决策树模型。
1)条件熵:H(D|年龄);H(D|信用等级),….
条件熵计算公式:【样本中有青/中/老年分别有5个】
①H(D|年龄)=5/15*H(D|青年)+5/15*H(D|中年)=5/15*H(D|老年)
【比如说青年中同意贷款有2个;中年中同意贷款有4个,老年中同意贷款有3个】
②计算各个分量
H(D|青年)= -(2/5*log(2/5)+3/5*log(3/5));
H(D|中年)= -(4/5*log(4/5)+1/5*log(1/5));
H(D|老年)= -(3/5*log(3/5)+2/5*log(2/5));
2)信息增量计算公式:g(D,年龄)=H(D)-H(D|年龄)
信息增量表示的是,知道了这个特征(信息),能够减少的目标值的不确定性。所以某一特征对应的信息增量越大,表示该特征对目标值的影响程度越大,在决策树中应该排在越前面。
通过比较不同特征的信息增量,可以得出决策树中不同特征的排列顺序,从而得出对于预测新样本的目标值最高效的决策树模型。
参考资料:
https://www.bilibili.com/video/BV1nt411r7tj?p=28, B站,作者:菜鸟程序员
https://www.bilibili.com/video/BV1nt411r7tj?p=28, B站,作者:菜鸟程序员
以上是关于决策树模型(简单例子理解原理)的主要内容,如果未能解决你的问题,请参考以下文章