为什么决策树中用熵而不是基尼不纯度来作为划分依据?

  统计/机器学习 特征选择 模型验证    浏览次数:1069        分享
0

决策树通常用熵而不是基尼不纯度来作为划分依据来选择特征,这是为什么?

熵和基尼不纯比有什么明显的优势呢?

 

何立诚   2018-10-15 11:42



   2个回答 
4

熵和基尼相互之间从分类效果上说并没有所谓的优势和劣势,基尼计算起来有优势。

有一篇对它们进行理论比较的文章Theoretical Comparison between the Gini Index and Information Gain Criteria

论文最后的结论是

“We found  that they disagree only in 2%, which explains why most previously published empirical results concluded that it is not  possible to decide which one of the two tests to prefer”

只有2%的情况下,它们两个找到了不同的划分,这也解释了为什么过去的种种实验结果无法判断孰优孰劣了。

SofaSofa数据科学社区DS面试题库 DS面经

蘑菇蘑菇   2018-10-24 13:47

2

并不存在这样的说法。

决策树既可以用熵也可以用基尼,而且本来它们也是很接近的,$p_j$表示样本中标签$j$的占比,样本中一共有$m$中标签,那么

$$\text{熵}=-\sum_{i=1}^m p_j\log p_j$$

$$\text{基尼}=1-\sum_{i=1}^m p^2_j$$

所以我们看出主要的区别就是基尼中把$\log p_j$换成了$p_j$,相比于熵,基尼反而有计算量小的优势(不用算$\log$)。

SofaSofa数据科学社区DS面试题库 DS面经

strong.man   2018-10-16 12:06



  相关主题

求问:Cart分类树为什么是基尼指数最小化准则   1回答

决策树的熵是什么?怎么用熵来选分叉?   1回答

pytorch 的交叉熵损失总是报错,同样的结构改成MSELoss就没有问题   1回答

Gini指数、Gini系数、Gini不纯是一回事吗?   2回答

softmax模型和最大熵模型是否是一回事?   1回答

最小描述长度和香农熵有什么关系?   0回答

python里怎么计算一个数组的熵(entropy)?   1回答

cross entropy是什么意思?   1回答

keras里sparse_categorical_crossentropy和categorical_crossentropy什么不同?   1回答

怎么理解随机森林的oob error?   2回答

Extra Tree算法   1回答

随机森林给出的变量的Importance是怎么来的   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!