Scikit学习光谱聚类获取每个聚类的项目

我正在尝试使用频谱聚类对文本文档中存在的术语进行聚类。完成聚类后,我希望每个聚类中都包含这些术语。

我尝试的代码如下,

    true_k = 4
    vectorizer = TfidfVectorizer(stop_words='english',decode_error='ignore')
    X = vectorizer.fit_transform(documents)
    terms = vectorizer.get_feature_names()
    model = SpectralClustering(n_clusters=true_k ,eigen_solver='arpack',affinity='nearest_neighbors')
    model.fit(X)

从这里开始,我被困于获取每个集群的术语,使用'labels_'并没有帮助,因为它仅返回集群标签

编辑:解决了,下面的代码完成了,

    print("Terms per cluster:")
    for i in range(true_k):
        print "Cluster %d:" % i,
        T=X[model.labels_==i].indices
        for ind in T:
            print terms[ind]
        print
马特·汉考克(Matt Hancock)

如果我对您的理解正确,则必须首先拟合模型,即model.fit(X)根据拟合模型访问X属于集群的元素k,请执行X[model.labels_==k]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章