在 k-means 聚类中,如何从流程开始?
我应该选择k最远点还是随机点并形成 k 个集群并将其他点加入集群?
或者
选择一个点,然后检查其他点 [欧几里得距离] 如果 < THRESHOLD 添加或形成新集群?
在 k-means 聚类中,如何从流程开始?
我应该选择k最远点还是随机点并形成 k 个集群并将其他点加入集群?
或者
选择一个点,然后检查其他点 [欧几里得距离] 如果 < THRESHOLD 添加或形成新集群?
要播种 K-Means 算法,标准的做法是从您的数据集中选择 K 个随机观测值。由于 K-Means 受局部最优值的影响(例如,取决于初始化,它并不总是找到最佳解决方案),因此使用不同的初始化运行它多次并选择具有最低误差的结果也是标准的。
最初的 MacQueen k-means 使用前 k 个对象作为初始配置。Forgy/Lloyd 似乎使用了k 个随机对象。两者都可以很好地工作,但更聪明的启发式(参见 k-means++)可能需要更少的迭代。
请注意,k-means不是基于距离的。它最小化了簇内平方和 (WCSS)。这恰好使平方欧几里得距离最小化,从而使欧几里得距离最小化。但最后,如果你用欧几里得距离来思考,它可能会得出错误的结论。最好考虑最小化方差。