私はドメインテキストコーパスを使用して一般的なフレーズをマージする100D word2vecモデルを生成しました(たとえば、good bye => good_bye)。それから私は1000語の所望の単語を抽出しました。Python - word2vecベクトルの階層的クラスタリングを計算し、結果を樹立図としてプロットする
だから私はそうのような1000年numpy.arrayあります
["hello","hi","bye","good_bye"...1000]
が、私は私のデータにK-手段を走っていると、結果は私が得た:そうのような
[[-0.050378,0.855622,1.107467,0.456601,...[100 dimensions],
[-0.040378,0.755622,1.107467,0.456601,...[100 dimensions],
...
...[1000 Vectors]
]
と言葉の配列を製センス:
X = np.array(words_vectors)
kmeans = KMeans(n_clusters=20, random_state=0).fit(X)
for idx,l in enumerate(kmeans.labels_):
print(l,words[idx])
--- Output ---
0 hello
0 hi
1 bye
1 good_bye
0 =挨拶1 =別れ
しかし、いくつかの言葉で私は階層的クラスタリングがタスクに適していると思いました。私はAgglomerativeClusteringを使ってみましたが、残念ながら...このPythonのnobeeにとって、事態は複雑になり、私は迷ってしまいました。
ベクトルをクラスタ化すると、出力はthis wikiページにあるように多かれ少なかれ、どのようなものになるでしょうか?
「AgglomerativeClustering」では何が問題になりましたか?あなたが再現可能な例を提供できるなら、それは最高の –
でしょう私はちょうど私が周りを推測していると感じ、タスクを完了するための知識が不足しています –