도메인 글자체를 사용하여 일반적인 문구를 병합하여 100D word2vec 모델을 생성했습니다 (예 : good bye => good_bye). 그런 다음 원하는 단어의 1000 개의 벡터를 추출했습니다.Python - word2vec 벡터의 계층 적 클러스터링을 계산하고 그 결과를 dendrogram으로 그립니다.
[[-0.050378,0.855622,1.107467,0.456601,...[100 dimensions],
[-0.040378,0.755622,1.107467,0.456601,...[100 dimensions],
...
...[1000 Vectors]
]
그리고 단어 배열과 같이 :
그래서 나는 1000 numpy.array과 같이이 내 데이터를 K-수단을 실행 한
["hello","hi","bye","good_bye"...1000]
, 그 결과는 내가 가지고 만든 의미 :
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 페이지에서 볼 수있는 것과 같이 출력이 더 많은 또는 더 적은 dendrogram이 될 수 있습니까?
'집계 클러스터링'의 문제점은 무엇입니까? 재현 가능한 예제를 제공 할 수 있다면 가장 좋을 것입니다. –
저는 방금 주위를 짐작하고 있다고 느꼈고, 작업을 완료하기위한 지식이 부족합니다. –