【问题标题】:Obtain the Clustered Documents of DBSCAN获取DBSCAN的集群文档
【发布时间】:2018-11-22 06:06:43
【问题描述】:

我尝试使用 DBSCAN(来自 scikit-learn)对文本文档进行聚类。我使用 TF-IDF(sklearn 中的 TfidfVectorizer)来创建每个文档的特征。

但是,我还没有找到一种方法来获取(打印)由 DBSCAN 聚类的文档。

sklearn 中的 DBSCAN 提供了一个名为“labels_”的属性,它允许我们获取集群组标签(例如,1、2、3、-1 表示噪声)。但是,我想获取由 DBSCAN 聚类的文档,而不是聚类组标签。

为了强调,我想知道属于每个集群的文档。 您能否提出一些方法来做到这一点?

非常感谢!

【问题讨论】:

  • 请提供一个小的可重复样本数据集和您想要的数据集
  • TfidfVectorizer 不是根据文本文档创建字典吗?
  • 文档中的文本值未聚类。文档是聚集在一起的。文档由一个向量表示(其中包含词汇表中单词的多个 tf-idf 值)。这些向量是聚集的。但是这些向量是由 TfidfVectorizer 制成的,而不是 DBSCAN。所以请澄清你想做什么。您想查看哪些文档属于哪个集群吗?或者你想看词汇吗?还是你想看单个聚类中最具代表性的词?
  • 大家好!谢谢你的cmets。我已经更新了问题描述。关于示例,我将尝试对其进行处理并再次更新描述。尽管如此,我希望更新后的问题描述已经足以澄清我的问题。
  • 为此,您使用labels_。它与原始文档的顺序相同。所以如果labels = [1, -1, 1, 2, 3, 2],这意味着你的数据中的第一个文档属于cluster1,第二个文档有噪声,第三个文档又属于cluster1,依此类推

标签: machine-learning scikit-learn hierarchical-clustering dbscan


【解决方案1】:

使用标签选择文档。

X[labels_ == 1,:]

应该是集群 1 中的所有文档。

【讨论】:

    猜你喜欢
    • 2018-08-29
    • 2018-09-01
    • 2015-08-15
    • 2021-07-07
    • 2020-03-04
    • 2017-05-20
    • 2013-01-15
    • 2016-02-28
    • 2014-10-20
    相关资源
    最近更新 更多