我何时应该使用Gini不纯而不是信息获取?


66

有人可以实际解释基尼杂质信息增益(基于熵)背后的原理吗?

使用决策树时,在不同情况下哪种指标更好?


5
@ Anony-Mousse我想在您发表评论之前这很明显。问题不在于两者是否都具有优势,而是在哪种情况下比另一种更好。
马丁·托马

我建议使用“信息增益”而不是“熵”,因为它非常接近(IMHO),如相关链接中所标记。然后,在何时使用基尼杂质和何时使用信息增益
洛朗·杜瓦尔

1
我在这里发布了对基尼杂质的简单解释,可能会有所帮助。
Picaud Vincent

Answers:


47

基尼杂质和信息增益熵几乎相同。人们确实可以交替使用这些价值观。以下是两者的公式:

  1. Gini:Gini(E)=1j=1cpj2
  2. Entropy:H(E)=j=1cpjlogpj

给定一个选择,我将使用Gini杂质,因为它不需要我计算对数函数,因为对数函数需要大量计算。它的解决方案的封闭形式也可以找到。

使用决策树时,在不同情况下哪种指标更好?

由于上述原因,基尼杂质。

因此,在CART分析方面它们几乎相同。

两种方法的计算比较的有用参考


1
看到熵公式非常普遍,而决策树中真正使用的公式看起来像条件​​熵。我认为重要的区别还是缺少什​​么?
user1700890

@ user1700890 ID3算法使用“信息”。获得熵。我需要阅读条件熵。可能是对ID3的改进:)
Dawny33

1
我认为您对基尼杂质的定义可能是错误的:en.wikipedia.org/wiki/Decision_tree_learning#Gini_impurity
Martin Thoma

22

通常,无论您使用基尼杂质还是熵,您的性能都不会改变。

Laura Elena Raileanu和Kilian Stoffel在“ 基尼系数和信息获取标准之间的理论比较 ”中进行了比较。最重要的评论是:

  • 无论是使用基尼杂质还是熵,仅在2%的情况下都很重要。
  • 熵的计算可能会稍慢一些(因为它利用了对数)。

曾经有人告诉我,这两个指标同时存在是因为它们出现在不同的科学学科中。


16

对于具有两个值的变量(以分数f和(1-f)出现),
基尼和熵的计算公式为:
gini = 2 * f(1-f)
熵= f * ln(1 / f)+ (1-f)* ln(1 /(1-f))
如果缩放为1.0,则这些度量值非常相似(绘制2 * gini和熵/ ln(2)):

缩放基尼(y4,紫色)和熵(y3,绿色)值以进行比较


14

基尼(Gini)用于连续属性,而熵(Entropy)用于类中出现的属性

基尼是为了最大程度地减少错误归类
用于探索性分析

熵的计算要慢一些


7

要补充一个事实,那就要考虑以下事实: 这样: 请参阅以下两个图函数归一化以得到1作为最大值:红色曲线代表基尼,黑色曲线代表熵。

0<u<1,log(1u)=uu2/2u3/3+0<p<1,log(p)=p1(1p)2/2(1p)3/3+
0<p<1,plog(p)=p(1p)+p(1p)2/2+p(1p)3/3+
归一化的基尼和熵准则

最后,如@NIMISHAN所解释的,Gini更适合于最大程度地减少误分类,因为它的对称性为0.5,而熵将更不利地惩罚小概率。


3

由于对数计算,熵比Gini Index花费更多的计算时间,这也许就是为什么Gini Index成为许多ML算法的默认选项的原因。但是,从谭等。等书《数据挖掘概论》

“杂质测度彼此非常一致……的确,用于修剪树的策略比选择杂质测度对最终树的影响更大。”

因此,看起来杂质度量的选择对单决策树算法的性能影响很小。

也。“ Gini方法仅在目标变量是二进制变量时有效。” -使用Python学习预测分析。


3

过去一周以来,我一直在对二进制分类进行优化,并且在每种情况下,熵均明显优于基尼系数。这可能是特定于数据集的,但似乎在调整超参数时尝试两者都是一个合理的选择,而不是事先对模型进行假设。

在运行统计信息之前,您永远都不知道数据将如何反应。


0

根据简约原则,基尼在计算简便性方面胜过了熵(很明显,对数运算涉及更多的计算,而不是处理器/机器级别的普通乘法)。

但是在某些涉及高度不平衡的数据案例中,熵肯定具有优势。

由于熵使用概率的对数并乘以事件的概率,因此在后台发生的事情是较低概率的值正在按比例放大。

如果您的数据概率分布是指数或拉普拉斯分布(例如在深度学习的情况下,我们需要在极点处进行概率分布),则熵胜过基尼系数。

举个例子,如果您有2个事件,则一个概率为.01,其他概率为.99。

在基尼(Gini)中,概率平方将是.01 ^ 2 + .99 ^ 2,.0001 + .9801意味着较低的概率不起作用,因为一切都由多数概率决定。

现在在熵的情况下.01 * log(.01)+。99 * log(.99)= .01 *(-2)+ .99 *(-。00436)= -.02-.00432清楚地看到,较低的概率具有更好的权重。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.