【深度学习基础-03】决策树算法-熵如何计算举例

目录

0 机器学习中分类和预测算法的评估:

1 什么是决策树/判定树decision tree? 

2 决策树“买电脑”实际例子

3.1熵(entropy)概念:

4 决策树归纳算法(ID3)

4.1递归算法:

5 其他算法


0 机器学习中分类和预测算法的评估:

  • 准确率
  • 速度
  • 强壮性
  • 可否规模性
  • 可否解释

1 什么是决策树/判定树decision tree? 

决策树是一种类似流程图的树结构:其中,每一个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。

2 决策树“买电脑”实际例子

假设有一个数据集

根据这个数据集我们建立了决策树

         

这样我们如果拿到一个客户资料,那么就可以通过这个就决策树去判断是否买电脑

3.1熵(entropy)概念:

信息和抽象,如何度量?

一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常非常不确定的事情,或者是我们一无所知的事情,需要了解大量信息(信息量的度量)就是等于不确定性的多少。

举个例子:32只足球队踢比赛,假如你对其一无所知,那么你用二分法猜6次就行了,这个6就是熵的大小,当你对这些球队有一定了解,那才四五次就行,当你知道其中1只国家队,31只小学生队伍,你猜1次就行了,你知道的信息越多,熵越小,你知道的信息越少,熵越大。

熵的计算公式如下:P(x)代表发生概率

变量的不确定性越大,熵也就越大。

4 决策树归纳算法(ID3)

选择属性判断结点

信息获取量(Information Gain) :  Gain(A) = Info(D) - Info_A(D),通过A来作为节点分类获取了多少信息

那么怎么选择节点?以下面这个为例子

以“买不买”电脑计算熵:

当附加年龄,“买不买”电脑的熵:(解释:5个younth,其中有2个yes,3个no;4个middle,其中4个yes,0个no)

通过上面两个式子计算以年龄为节点的熵:

类似的,Gain(income)=0.029     Gain(student) = 0.151   Gain(credit_rating) = 0.048 ,所以选择age最为第一个根节点

这样就以age为根节点,分成了3类,如上图所示,每一类要分到没有其他额外选项即可,比如middle_aged都是yes,那其他两种还是按照上述方法重复计算熵,然后选择节点,直到满足判断条件

4.1递归算法:

递归划分步骤什么时候会停止:

  • 给定节点的所有样本属于同一类
  • 没有剩余属性可以进一步划分,这样情况下,使用多数表决,用样本中的多数所处类标记
  • 没有样本

 5 其他算法

C4.5:  Quinlan

CART:  Classification and Regression Trees 

共同点:都是贪心算法,自上而下

区别:属性选择度量方法不同:C4.5(gain ratio)   CATR(gini index)   ID3(Information Gain)

 6 其他概念

  • 树剪枝叶,避免树太大了太细:(1)先剪枝(2)后剪枝

  • 决策树优点:直观便于理解,小规模数据集有效

  • 决策树缺点:处理连续变量不好(阈值设定会影响)、类别较多时错误增加较快、可规模化性能一般

猜你喜欢

转载自blog.csdn.net/qq_15698613/article/details/86005270
今日推荐