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



我试图找到两个分布之间的jensen-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,)

我想函数无法在两种不同的形状(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])

最新更新