首页 > 解决方案 > 如何控制聚类距离或限制聚类选择?

问题描述

我有一个用例,我必须对大约 200k+ 的大数据集进行聚类。我正在使用 KMeans,但我在使用 KMeans 时遇到了很大的问题。

假设我训练了一个 KMeans 模型,它已准备好预测集群。

现在,我正在发送一个输入`

"(&)=hexvahamje"

它只是嵌入的噪声文本,我确信我的 KMeans 训练数据没有这样的噪声/文本。但是当我对它进行预测时,它会将嘈杂的文本预测为某个簇 x。这对我们的用例来说是错误的。如果有一个太不同的文本,我想预测类似 cluster None 之类的东西,

对这样的嘈杂文本进行一些控制,这些文本被预测为集群 x,在我的训练数据中我什至没有任何类似的文本。

我必须克服这样的问题的所有选择是什么?请帮忙。

标签: pythonscikit-learncluster-analysisk-meanshierarchical-clustering

解决方案


默认情况下,k-means 不处理噪声。它将假设每个数据点都属于一个集群。

由于您需要处理噪声,我的建议是查看现有的处理噪声的算法,例如DBSCAN,它是一种基于密度的聚类算法。

根据您的用例,您也可以将问题转换为分类问题或运行单独的异常/异常值检测步骤,但如果没有更多信息,很难说。


推荐阅读