kmeans聚类算法提高聚类性能的方法

1、评估最佳k值

     计算每个点到簇质心的距离平方值,评价聚类质量。

2、导致聚类效果较差的原因有

     收敛到了局部最小值,而非全局最小值,也就是还需要继续收敛;

3、用误差平方和SSE来度量聚类效果。

     即程序中clusterAssment矩阵的第一列之和,SSE越小表示数据点越接近它们的质心,聚类效果也越好。

4、一种可以肯定降低SSE的方法是增加簇的个数,但违背了聚类的目标,聚类的目标是在保持簇数目不变的情况下提高簇的质量。

5、对生成的簇进行后处理,一种方法是将具有最大SSE的簇划分成两个簇。

      实现方法可以是将最大簇包含的点过滤出来,并在这些点上运行K均值二分算法,k为2.

6、为了保持簇总数不变,可以将两个簇进行合并。

     一种方法是合并最近的质心,或者合并两个使得SSE增幅最小的质心。

     第一种方式是计算所有质心之间的距离,然后合并距离最近的两个点来实现。

     第二种方法需要合并两个簇然后计算SSE值,在所有可能的两个簇上重复,直到找到合并最佳的两个簇为止。

你可能感兴趣的:(python,算法总结)