【问题标题】:Conditional Mutual information条件互信息
【发布时间】:2019-08-10 09:24:35
【问题描述】:

]2正在尝试测试此包以从数据集中计算条件互信息。包名-“dit”

我的代码:

from __future__ import division
import numpy as np
import dit
from dit import Distribution as D
from dit.multivariate import coinformation as I
from dit.example_dists import Xor

d=Xor()
d.set_rv_names(['X','Y','Z'])
X=111010
Y=101101
Z=001011

a=dit.multivariate.coinformation(d,'XY','Z')
print(a)

运行这个程序时,我得到的结果总是“1.0”。
结果为负值或正值,例如“-0.0023”或“0.120”

基本上,我想这样做 https://stats.stackexchange.com/questions/147401/estimating-mutual-information-using-r 在 Python 中。 一点帮助将不胜感激

【问题讨论】:

    标签: python python-3.x numpy entropy information-theory


    【解决方案1】:

    告诉我这是否适合您:set_rv_namesd

    d=Xor()
    
    ## ADD THIS LINE OF CODE BELOW
    d.set_rv_names(['X', 'Y', 'Z'])
    
    X=0.052290766
    Y=0.004951425
    Z=0.000246642
    
    a=dit.multivariate.coinformation(d,'XY','Z')
    print(a)
    

    【讨论】:

    • 非常感谢您的帮助。有没有像其他方法一样,我可以用 python 做信息论方法问题。
    • 是的,您也可以从头开始构建模型,只要您对信息论有一致的了解。您可以在决策树、梯度提升、神经网络中使用它来自定义损失和树分裂。答案解决了你的问题吗?
    • 是的,它做到了!再次感谢。但是您知道任何可以帮助这种信息论方法的软件包吗?
    • 很高兴知道,请为答案投票,我将不胜感激。我建议您学习理论以更好地理解这些概念,并了解深度学习、信息 GAN、基于树的分类方法如何工作。例如,您可以使用信息论、KL 散度、熵、惊喜、互信息来自定义深度学习模型的损失。我不知道具体的图书馆。
    • 试试这个:X=[1,1,0],Y=[0,0,1],Z=[0,1,1]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    相关资源
    最近更新 更多