点数最少的聚类算法

时间:2018-10-12 21:30:50

标签: python matlab

我正在尝试分离一个数据集,该数据集具有两个完全不重叠的群集以及一个远离这两个群集的数据点。

当我使用kmeans()获取2个群集时,它将“有效”群集之一分成两半,并将单个数据点视为一个单独的群集。

有没有办法为此指定最小点数?我正在使用MATLAB。

1 个答案:

答案 0 :(得分:0)

有几种解决方案:

  1. 简单:尝试3个群集;
  2. 简单:删除单个数据点(您可以使用任何异常值检测技术将其检测为异常值;
  3. 要尝试:使用k-medoids方法代替k-means。有时这有助于消除异常值。
  4. 更复杂但可以肯定地起作用:执行spectral clustering。这可以帮助您克服k均值的主要问题,这是欧几里得距离的残酷使用

可以在交叉验证的网站上找到有关k均值行为不足的更多解释(例如,参见here)。