kmeans聚类算法寻优
时间: 2024-05-09 21:13:35 浏览: 63
kmeans聚类算法
Kmeans聚类算法是一种基于距离度量的聚类算法,它将数据集分成k个簇,使得同一簇内的数据相似度较高,不同簇之间的数据相似度较低。寻优过程即为选择最优的k值和簇心点位置,通常采用以下两种方式:
1. 手肘法:随着簇数k的增大,样本划分会更加精细,每个簇的聚合程度会逐渐提高,那么误差平方和SSE自然会逐渐变小,且当k小于真实聚类数时,由于k的增大会大幅增加每个簇的贡献度,故SSE的下降幅度会很大,而当k到达真实聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以SSE的下降幅度会骤减,然后随着k值的继续增大而趋于平缓。因此,我们可以通过观察SSE与k的关系图像来确定最佳的k值。
2. 轮廓系数法:轮廓系数是一种衡量聚类结果质量的指标,它综合考虑了簇内相似度和簇间差异性。对于一个样本i,其轮廓系数为(silhouette coefficient) si = (bi - ai)/max(ai, bi),其中ai是样本i与同簇其他样本的平均距离,bi是样本i与最近不同簇中所有样本的平均距离。轮廓系数取值范围在[-1, 1]之间,且越接近1表示聚类效果越好。因此,我们可以通过计算不同k值下所有样本的轮廓系数来选择最佳的k值。
阅读全文