K 均值(K-means) 算法是一种常用的聚类算法,它将数据集中的样本分成 K 个簇,使得每个样本点都属于离它最近的簇的中心点所代表的簇。
基本步骤
- 初始化:选择 K 个初始聚类中心,可以是随机选择的样本点或者通过其他方法确定。
- 聚类分配:将每个样本点分配到离它最近的聚类中心所代表的簇。
- 更新聚类中心:重新计算每个簇的中心点,通常是该簇所有样本点的均值。
- 重复迭代:重复步骤 2 和步骤 3,直到聚类中心不再发生变化或者达到预定的迭代次数。
需要注意的是,K 均值算法需要预先指定聚类的个数 K,并且在处理大数据集时,由于需要计算所有样本点与每个聚类中心的距离,计算成本较高。
优缺点
优点
- 简单、容易实现。
- 对大数据集具有较高的效率。
- 对处理数值型数据和凸形状簇效果较好。
缺点
- 对于初始聚类中心的选择敏感,初始值的不同可能会导致不同的聚类结果。
- 对离群点和噪声敏感,可能会影响聚类结果。
- 对非凸形状的簇效果不佳。