我正在研究 statistic entropy concept used by ID3 machine learning algorithm
对于以学习集S(即用于构建决策树的示例集)为例的域,我需要对对象进行分类所需的平均信息量由 entropy measiure 给出 .
所以我有以下公式:
所以,例如:
If S is a collection of 14 examples with 9 YES and 5 NO examples then I have that:
**Entropy(S) = - (9/14)Log2(9/14) - (5/14)Log2(5/14) = 0.940
这个计算非常简单,我的问题是,在我的书中我也读到了这个说明:
如果S的所有成员属于同一类(数据完全分类),则注意熵为0 . 熵的范围是0(“完全分类”)到1(“完全随机”) .
这个断言令我困惑,因为我试图以这种方式改变前面的例子:
If S is a collection of 14 examples with 14 YES and 0 NO examples then I have that:
**Entropy(S) = - (14/14)Log2(14/14) - (0/14)Log2(0/14) = 0 - infinity
因此,在这种情况下,我认为所有对象都属于同一个类(YES),并且没有示例属于NO类 .
所以我希望这个S集的熵值为0且没有 - infinity
我错过了什么?
TNX
安德里亚
1 回答
计算熵时,您可以通过迭代相关节点上的唯一分类值来进行求和 . 您可以通过计算集合中有多少成员具有该值来对每次迭代执行此操作,然后使用日志公式 . 在您的问题情况下,出现的唯一分类值是YES,这意味着基于单次迭代,熵为零 . 您不能迭代NO值,因为没有示例具有该值 .