从k均值集群中删除异常值

car*_*rro 5 matlab cluster-analysis data-mining outliers k-means

我有一些较小的数据集,每个包含10个XY坐标.我使用Matlab(R2012a)和k-means来获得质心.在一些集群中(见下图),我可以看到一些极端点,因为我的数据集尽可能小,一个大纲破坏了我的质心的价值.有没有简单的方法来排除这些观点?假设Matlab有一个'排除异常值'功能但我在工具菜单中的任何地方都看不到它.感谢您的帮助!(是的,我是新手:-)

在此输入图像描述

Eri*_*ert 3

k 均值可能对数据集中的异常值非常敏感。原因很简单,k-means 试图优化平方和。因此,大的偏差(例如异常值)会受到很大的影响。

如果您有一个包含异常值的噪声数据集,则最好使用具有专门噪声处理功能的算法,例如DBSCAN(基于密度的噪声应用程序空间聚类)。请注意缩写词中的“N”:噪声。与例如 k-means 以及许多其他聚类算法相比,DBSCAN 可以决定不对低密度区域中的对象进行聚类。