5

次のような2 つの行列を定義しました。

from scipy import linalg, mat, dot
a = mat([-0.711,0.730])
b = mat([-1.099,0.124])

ここで、これら 2 つの行列の余弦類似度を計算したいと思います。次のコードの何が問題になっていますか。それは私にエラーを与えますobjects are not aligned

c = dot(a,b)/np.linalg.norm(a)/np.linalg.norm(b)
4

2 に答える 2

8

1x2 行列を 1x2 行列で乗算することはできません。行間の内積を計算するには、2 番目の行を転置する必要があります。

from scipy import linalg, mat, dot
a = mat([-0.711,0.730])
b = mat([-1.099,0.124])

c = dot(a,b.T)/linalg.norm(a)/linalg.norm(b)
于 2014-02-24T06:55:07.570 に答える