anranhui

2020-06-18   阅读量: 1994

Python数据分析 机器学习 Scikit-learn 决策树 基尼指数

决策树中经常用熵作为判别条件而不是基尼不纯度?基尼不纯度是什么?

扫码加入数据分析学习群

绝大部分情况下熵(entropy)和基尼指数(Gini Index)在决策树节点分裂时做出的决策都是等价的。

先看一下如何定义节点分裂时的不纯度函数(impurity)有三种(假设有k个类别):

不难看出,三个函数均为凸函数。只不过误分率(函数1)是分段线性函数(piece-wise linear),有时候节点分裂会无法降低不纯度。所以函数2和3一般是常采用的手段,它们的优势如下:

  1. 二者均为凸函数
  2. 二者都可以微分所以便于数值计算
  3. 二者都可以代表的函数1的误差上界(upper bound)

正因为它们都是光滑凸函数且为训练误分函数的错误上界,所以不仅保证了每次节点分裂整体的不纯度函数会下降且更适合运算。在绝大部分情况下,二者都是等价的,只有2%的情况下可能会有不同的分裂决策。如果非要说不同的话,就是熵的计算会需要求log,所以可能预算开销更大。但是求log是防止计算溢出的利器,特别适合用于处理极小概率的情况,所以并非只有缺点。

14.4630 4 2 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子