2017-04-30 2 views
0

각 기사마다 1000 개 이상의 기사가 포함 된 텍스트 코퍼스가 있습니다. 파이썬에서 Scipy를 사용하여 계층 적 클러스터링을 사용하여 관련 아티클의 클러스터를 생성하려고합니다. 이것은 내가Python에서 Scipy Hierarchy Clustering을 사용한 텍스트 클러스터링

# Agglomerative Clustering 
import matplotlib.pyplot as plt 
import scipy.cluster.hierarchy as hac 
tree = hac.linkage(X.toarray(), method="complete",metric="euclidean") 
plt.clf() 
hac.dendrogram(tree) 
plt.show() 

클러스터링을 수행하는 데 사용되는 코드 내가 dendrogram

가 그럼 난 fcluster()

from scipy.cluster.hierarchy import fcluster 
clustering = fcluster(tree,3,'maxclust') 
print(clustering) 

와 세 번째 수준에서 나무를 잘라이 음모를 가지고 나는이 출력을 얻었습니다 : [2 2 2 ..., 2 2 2]

내 질문은 어떻게 찾을 수 있습니까? 각 클러스터의 주제를 제안하기 위해 각 클러스터의 상위 10 개 단어를 자주 찾으십니까?

+0

왜 3이 적절한 값이라고 생각합니까? –

답변

0

는 다음과 같은 작업을 수행 할 수 있습니다

  1. 는 입력과 결과 (당신의 clustering 변수) (1000+ 기사)에 맞 춥니 다.
  2. 팬더 라이브러리를 사용하면 groupby function을 클러스터 #을 키로 사용할 수 있습니다.
  3. 그룹당 (get_group function 사용), 만날 단어마다 defaultdict의 정수를 입력하십시오.
  4. 이제 단어 수의 사전을 내림차순으로 정렬하고 원하는 빈도의 단어를 얻을 수 있습니다.

행운을 빕니다. 행운을 빈다. 내 대답을 받아 들일 것.

관련 문제