sklearn.cluster.KMeans对数据点顺序敏感吗?

时间:2017-12-02 05:12:47

标签: python scikit-learn cluster-analysis k-means

答案中提到的this post关于功能扩展,KMeans的一些(全部?)实现对 features 数据点的顺序很敏感。基于sklearn.cluster.KMeans documentation n_init 仅更改质心的初始位置。这意味着必须循环几次 features 数据点,以测试这是否是一个问题。我的问题如下:

  1. scikit-learn实施是否对帖子建议的排序敏感?
  2. n_init 会为我照顾吗?
  3. 如果我自己应该根据最小惯性采取最佳措施或采取建议的平均值here
  4. 根据数据点的数量,是否有一个很好的规则可以知道有多少shuffle排列就足够了?
  5. 更新:最初询问有关功能(列)顺序的问题不是问题。这是对术语"对象"的错误解释。在链接的帖子中。它已更新为询问数据点(行)顺序。

1 个答案:

答案 0 :(得分:3)

K-means对功能顺序不敏感。

您提到的关于比例的帖子,而不是订单。

如果你看一下kmeans方程,很明显顺序并不重要。

有研究(van Luxbourg,如果我没记错的话)基本上说如果有一个很好的kmeans结果,那么它必须很容易找到。如果在多次运行kmeans时得到的结果非常不同,那么结果都不是很好。

有选择k" n可能的初始化。虽然它们可能都不好,{{1}}只会尝试很少。因此无法保证找到最好的"。该函数将返回SSQ最低的函数,但这并不意味着这最终是有用的结果,除非你只关心SSQ。