您可以使用聚类来挑选嘈杂数据中的信号吗?

数据挖掘 Python 聚类 scikit-学习
2021-09-18 05:33:08

作为我的第一个数据科学项目,我想挑选嘈杂数据中的主要集群。我认为一个很好的例子是尝试在具有多个答案的给定 StackExchange 问题上挑选某些链接。最常见的链接类型是指向 SE 网络上的问题的链接。下一个常见的是标签链接,或指向用户配置文件的链接。剩余的链接可能是帖子中包含的随机链接,这被认为是噪音。理想情况下,我正在寻找一种解决方案,我不知道提前会有多少链接集群。

我已经使用scikit-learn和 KMeans 实现了我的第一次尝试。但是,这并不理想,因为我似乎必须提前指定集群的数量,而且我认为随机、嘈杂的链接分组不正确。我还认为与相对较小的 URL 令牌相比,它在较大的语料库上更有效(尽管这只是一个猜测)。

有没有办法进行这种类型的集群,其中集群的数量是未知的,或者其中一个集群是一种杂项集群,其中包含与其他集群不紧密匹配的对象?

1个回答

你看过DBSCAN吗?它是一种基于密度的具有噪声的数据空间聚类,可以定义非线性聚类(与 k-means 不同)。

它不需要知道集群的数量。但是,它确实需要两个测量密度的参数(最小集群大小和邻域大小)。但是您也许可以在您的特定域中估计它们。