使用 DBSCAN 算法对推文数据进行聚类

数据挖掘 scikit-学习 聚类 python-3.x 文本 数据库扫描
2022-02-28 06:09:12

我正在使用DBSCAN算法进行推文聚类。在应用算法之前,我使用所有预处理步骤并将句子转换为矢量格式。但是,它总是将很多推文归入“0”类。以下是显示eps集群数量的图。

在此处输入图像描述

以下是我传递的参数。

dbscan = DBSCAN(eps=0.15, min_samples=2, metric='cosine').fit(x)

以下是生成的集群。

在此处输入图像描述

label
-1     1221
 0     1349
 1        2
 2        2
 3        4
       ... 
 67       3
 68       3
 69       2
 70       2
 71       2

0 类比任何其他类获得大量推文的原因是什么?

1个回答

两件事:eps和文本的定量表示。

您会看到只有 eps=0.15 有很多集群。但是对于其他人来说就少了很多。这是需要优化的超参数(和 min_samples)

另一件更重要的事情是你使用文本的定量表示。您说的是 Bag of Words、TFIDF、Spacy Vectors 以及 Word2Vec,但是您对它们进行了调整吗?你有没有树嵌入等等等等。这里有很多改进,当它好的 dbscan 会更好地运行。