scipy 具有不同大小列表的距离度量(Python)

eufgjt7s  于 2022-11-10  发布在  Python
关注(0)|答案(1)|浏览(263)

我试图找到两个分布之间的詹森shannon距离度量。但是我得到了一个ValueError,因为两个列表(概率分布)的大小不一样。我该如何克服这个问题?
下面是当前代码:

from scipy.spatial import distance
distance.jensenshannon([0.1, 0.1, 0.3, 0.2, 0.30], [0.30, 0.50, 0.20])
>> ValueError: operands could not be broadcast together with shapes (5,)(3,)
zynd9foi

zynd9foi1#

我想这个函数不能比较两个不同的形状(5x1)和(3x1)。我已经用相同形状(5x1)的两个向量试过了,它工作正常

from scipy.spatial import distance
distance.jensenshannon([0.1, 0.1, 0.3, 0.2, 0.30], [0.30, 0.50, 0.20, 0.1, 0.2])

输出功率

0.30985287648299353

当我比较两个相同的向量时,距离输出为零

distance.jensenshannon([0.30, 0.50, 0.20, 0.1, 0.2], [0.30, 0.50, 0.20, 0.1, 0.2])

相关问题