我有一个文本语料库,其中包含 1000 多篇文章,每篇文章都在单独的行中。我正在尝试使用 python 中的 Scipy 进行层次聚类来生成相关文章的集群。
这是我用来进行聚类的代码
# 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()
and I got this plot
![dendrogram](https://i.stack.imgur.com/t2qv5.png)
然后我用 fcluster() 砍掉了第三层的树
from scipy.cluster.hierarchy import fcluster
clustering = fcluster(tree,3,'maxclust')
print(clustering)
我得到了这个输出:
[2 2 2 ..., 2 2 2]
我的问题是如何找到每个集群中最常见的 10 个单词,以便为每个集群建议主题?
您可以执行以下操作:
- 调整你的结果(你的
clustering
变量)与您的输入(1000 多篇文章)。
- 使用 pandas 库,您可以使用
groupby function
以簇 # 作为其键。
- 每组(使用
get_group function
),填写一个defaultdict
每个整数
你遇到的词。
- 现在,您可以按降序对单词计数词典进行排序,并获得所需的最常见单词数量。
祝您所做的事情好运,如果这是您正在寻找的,请接受我的答案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)