决策树

gini impurity:

pa = 0;

for i in set

  for j in set

     if i==j continue;

     else

     pa += pi * pj;

 

pa就是该集合的gini impurity.   pi表示i在集合中出现的概率

 

 

熵:

pa = 0;

for i in set

  pa += -sigma(pi * log(pi))

pa, pi意义如上

 

这两种方式用来衡量决策树过程中,当前这一决策的好坏

 

通常采用熵的方式; 熵对混乱集合的判罚更重一些。

 

 

递归构造决策树:

已知一个集合, 集合元素由许多属性构成。 如何选择某个属性将该集合分成两个集合,且两个集合尽可能的“纯”。

信息增益infomation gain: 当前集合的熵, 与拆分后两个新集合的熵加权平均后的差值。  信息增益越大, 使用该属性对原集合划分效果会更好。

 

递归退出条件是: 集合的最优划分得到的熵比原集合的熵还要大。

两个集合的熵如何加权平均? 通常乘以每个集合的权重

 

 

 

=========================================

过拟合: 得到的决策树模型太过于拟合训练数据, 而对真实的、新数据没有好的区分能力。

解决办法: 剪枝。 对相同父节点的两个子节点, 计算合并两个子节点增加的熵是否低于一定的阀值; 低就合并

=========================================

对数值型属性的处理

采用方差作为评价函数来取代gini impurity或者熵

=========================================

你可能感兴趣的:(决策树)