У меня есть два массива вероятностных распределений. Я хочу использовать расстояние Дженсена-Шеннона, чтобы вычислить сходство между распределениями.
Массивы имеют формы x = (2679,28) и y = (41779,28).
Моя функция для вычисления расстояния выглядит следующим образом:
def jensen_shannon(query, matrix):
p = query
q = matrix
m = 0.5*(p + q)
return np.sqrt(0.5*(entropy(p,m) + entropy(q,m)))
Если я вызываю функцию с массивами x и y следующим образом:
jensen_shannon(x,y)
Я получаю следующую ошибку:
ValueError: operands could not be broadcast together with shapes (2679,28) (41779,28)
Разве матричное умножение не является законным?