[解决了]
我的错误是我没有意识到如果熵都是一种,熵就是0 . 因此,如果所有都是正数,则熵为0,如果全部为负,则它也为零 . 如果等量是正数和负数,则熵将为1 .
人们会获得负面信息,这是没有意义的 .
然而,基于这个例子,我获得了负面的信息收益 .
这是数据:
如果我计算Humidity属性的信息增益,我会得到:
显然我在这里遗漏了一些东西 .
编辑:澄清我是如何理解它的 .
整个系统的熵定义为:
在这种情况下,那是:
每个属性的信息增益定义为:
我计算的湿度为:
系统的熵 - (1/4)湿度正态熵 - (3/4)湿度熵高
按照这个Libre Office Calc:
或者我对属性的信息获取公式的理解不正确?
1 回答
首先,我假设你的S变量是EnjoySport . (我想你可以更清楚地说明文字,BTW . )
所以S的熵是0.8113,但那是我同意的最后一部分 .
S给定Normal的熵为0,因为它是确定性的 .
给定高的S的熵是0.91829583405448945,但是你需要将其乘以0.75,因为这是正常的概率 . 所以这给你0.68872187554086706 .
正如所料,差异是非负的 .
请注意,信息增益是expected difference in Entropy,期望需要考虑条件事件的概率 .