Nlp 如何将SKC的噪声数据与其他聚类结果关联起来?

Nlp 如何将SKC的噪声数据与其他聚类结果关联起来?,nlp,cluster-analysis,dbscan,Nlp,Cluster Analysis,Dbscan,我正在使用sklearn DBSCAN对文本数据进行集群。 我使用GoogleNews-vectors-negative300.bin为每个文档创建了300维的句子向量,并创建了大小为10000*300的度量。 当我将度量传递给DBSCAN时,eps(0.2到3)和min_samples(5到100)的可能值很少,并使用其他默认参数,得到了集群的数量(200到10)。 由于我分析了所有集群,噪声数据约占我数据的75-80%。 有没有办法降低噪音或使用其他参数(距离)来降低噪音? 即使我用欧几里得

我正在使用sklearn DBSCAN对文本数据进行集群。 我使用GoogleNews-vectors-negative300.bin为每个文档创建了300维的句子向量,并创建了大小为10000*300的度量。 当我将度量传递给DBSCAN时,eps(0.2到3)和min_samples(5到100)的可能值很少,并使用其他默认参数,得到了集群的数量(200到10)。 由于我分析了所有集群,噪声数据约占我数据的75-80%。 有没有办法降低噪音或使用其他参数(距离)来降低噪音? 即使我用欧几里得距离检查了两个向量之间的距离是0.6,但它们都在不同的簇中,我如何才能引入相同的簇

X_scaled = scaler.fit_transform(sentence_vectors)
ep = 0.3
min_sam = 10
for itr in range(1,11):
    dbscan = DBSCAN(eps=ep, min_samples = min_sam*itr)
    clusters = dbscan.fit_predict(X_scaled)

如果希望距离为0.6的两个点位于同一簇中,则可能需要使用较大的ε(这是距离阈值)。在0.6时,它们应该位于同一集群中

由于word2vec是使用点积进行训练的,因此使用点积作为相似度和/或余弦距离可能更有意义


但总的来说,我怀疑你能否取得好成绩。通过平均word2vec向量来构建句子向量的方法会杀死太多的信号,并增加太多的噪声。由于数据是高维的,所有这些噪音都是一个问题。

谢谢你,我清理了我的文本并缩小了文档大小。跟在不同集群后面的文档类似于doc1-“author使易于理解的工作完成”doc2-“author使易于理解的进程运行”doc1进入噪声集群,而doc2进入集群1。尝试进入同一个集群。同样,这里也并没有很好的理由使用标准化,因为维度更大的ε。我能够将噪声数据减少到20%。现在我想应用GridSearchCv或relative方法来获得参数的最佳组合(eps和min_sam)。根据上面的代码eps=19,min_sam=20给了我一个很好的结果。噪音小,簇数好。我希望eps在0.5到25之间变化,min_sam在15到30之间变化。试图得到最好的组合。如何申请?