gpt4 book ai didi

python - 处理零乘以 NaN

转载 作者:太空狗 更新时间:2023-10-29 21:23:19 26 4
gpt4 key购买 nike

我正在尝试估计随机变量 (RV) 的熵,其中涉及步长的计算:p_X * log(p_X)。例如,

import numpy as np
X = np.random.rand(100)
binX = np.histogram(X, 10)[0] #create histogram with 10 bins
p_X = binX / np.sum(binX)
ent_X = -1 * np.sum(p_X * np.log(p_X))

有时 p_X 应为零,这在数学上使整个项为零。但是 python 将 p_X * np.log(p_X) 设为 NaN 并将整个求和设为 NaN。有什么方法可以管理(无需对 NaN 进行任何显式检查)使 p_X * np.log(p_X)p_X 为零时给出零?感谢任何见解和更正,并提前致谢:)

最佳答案

如果你有scipy,使用scipy.special.xlogy(p_X,p_X) .它不仅解决了您的问题,作为一个额外的好处,它还比 p_X*np.log(p_X) 快一点。

关于python - 处理零乘以 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56665350/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com