决策树

决策树,是通过数据归纳,总结出条件判断的学习模式。

构建决策树-LMLPHP

如果新来一位男生/客户/面试者,根据上面的树状图就可以作出是否见面/贷款/入职的决定,所以该树状图就称决策树。

决策树解决问题就是这样,天然的可以解决多分类问题,当然回归问题也可以。

那怎么构建一棵决策树呢?

  • 决策树在哪种节点做划分?
  • 划分的值是什么?
     

信息熵划分

我们可以通过信息熵来划分。

  • 熵:衡量信息的不确定程度
  • 熵越大,不确定性越大
  • 熵越小,不确定性越小

熵的计算公式:
构建决策树-LMLPHP

  • k k k:一个系统中有 k 种分类
  • p i p_{i} pi:某种分类所占的比例

熵公式的意思是:

  • 一个系统中状态数量越多(可能性越多),不确定性越大。

比如买彩票的不确定性,要比抛硬币的不确定性大。只有一个类别时,熵为 0。

  • 在状态数量不变的情况下,各个状态的可能性相同,不确定很大。

比如抛硬币是二选一,不确定性很大。可如果硬币一面重、一面轻,就有规律可寻,不确定性会小很多。
 

信息增量:衡量每一条信息价值的尺度,这个值越大,信息越有用。

 
我们的划分思路是,让可能性变少,划分后使得整体的信息熵降低,变得更加确定。

 


基尼系数划分

我们可以通过基尼系数来划分。
构建决策树-LMLPHP

 


调用 CART

CART 是基尼系数实现的,基尼系数没有 l o g log log 计算比信息熵更快。

11-04 14:43