行列の行間のコサイン距離を計算しようとしています。行列matrを作成してリストからデータを取り込み、それを再構成しています分析目的:行列の行間のコサイン距離の計算
s = []
for i in range(len(a)):
for j in range(len(b_list)):
s.append(a[i].count(b_list[j]))
matr = np.array(s)
d = matr.reshape((22, 254))
Dの出力は、私はのようになめらか与える:
array([[0, 0, 0, ..., 0, 0, 0],
[2, 0, 0, ..., 1, 0, 0],
[2, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[1, 0, 0, ..., 0, 0, 0]])
は、それから私は、内の他のすべての他に、最初の行からのコサインを計算するscipy.spatial.distance.cosineパッケージを使用したいですd行列。 どうすればいいですか?それはループのためにいくつかあるべきですか?行列操作や配列操作の経験はあまりありません。
それでは、どのように私はそれを毎回起動しないという建設中(D [1]、D [2]、など)第二引数のためのforループを使用することができます。
from scipy.spatial.distance import cosine
x=cosine (d[0], d[6])
このパッケージには「ペアワイズ」機能や2つの機能はありませんか? – hpaulj
私は恐らくそうではありません - それは入力として2つの1次元配列を使用する余弦を使用します:cosine(u、v)、ここでu、v-1-D配列。 – HalfPintBoy
あなたはnumpyを使用していますか? –