计算决策树的条件熵

时间:2014-04-12 22:31:34

标签: java entropy

我试图计算条件熵以计算决策树的信息增益。我在Java中实现有点麻烦。示例可能如下所示:

 X   Y  f(x)   
 1   0   A
 1   0   A
 0   1   B

在这个例子中,我将如何计算Java中的条件熵?我理解它背后的数学,但我对实现感到困惑。

可在此处找到一个示例:http://en.wikipedia.org/wiki/Conditional_entropy

1 个答案:

答案 0 :(得分:0)

变量Y的条件熵:

(Y = 0的概率)(当Y = 0时f(x)的熵)+(Y = 1的问题)(当Y = 1时f(x)的熵)

在你的例子中:

(2/3)( - 1 (2/2 * log(2))+(1/3)*( - 1(1/1 * log(1))=( 2/3)* 0 +(1/3)* 0 = 0

即。这是一个不好的例子,因为你的条件熵总是为0.这可能会有所帮助:http://www.onlamp.com/pub/a/php/2005/03/24/joint_entropy.html?page=3