我希望这是一个简单的问题。
如果我有一组这样的数据:
Classification attribute-1 attribute-2
Correct dog dog
Correct dog dog
Wrong dog cat
Correct cat cat
Wrong cat dog
Wrong cat dog
那么属性2相对于属性1的信息增益是多少?
我计算了整个数据集的熵:-(3/6)log2(3/6)-(3/6)log2(3/6)=1
那我就卡住了!我认为你也需要计算 attribute-1 和 attribute-2 的熵?然后将这三个计算用在信息增益计算中?
任何帮助都会很棒,
谢谢你:)。
最佳答案
首先您必须计算每个属性的熵。之后计算信息增益。请给我一点时间,我将展示应该如何完成。
对于属性 1
attr-1=dog:
info([2c,1w])=entropy(2/3,1/3)
attr-1=cat
info([1c,2w])=entropy(1/3,2/3)
属性 1 的值:
info([2c,1w],[1c,2w])=(3/6)*info([2c,1w])+(3/6)*info([1c,2w])
属性 1 的增益:
gain("attr-1")=info[3c,3w]-info([2c,1w],[1c,2w])
您必须对下一个属性执行相同的操作。
关于statistics - 熵和信息增益,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5465447/