K-均值聚类算法是一种非监督学习的聚类算法。其基本思想是:将所有数据点分为k个簇,使得簇内数据点相似度较高,簇间数据点相似度较低。
算法流程:
- 随机选择k个数据点作为簇中心;
- 对每个数据点,根据其与簇中心的距离将其分配到最近的簇中;
- 对于每个簇,重新计算簇中心;
- 重复步骤2-3直到簇中心不再改变或达到最大迭代次数。
优点:
- 算法简单,易于实现;
- 适用于大型数据集,计算复杂度低;
- 可以自动识别簇数。
缺点:
- 对于存在噪声和异常值的数据集,聚类效果较差;
- 初始簇中心的选择对结果影响较大,可能陷入局部最优解;
- 簇的形状必须是球形,不适用于非凸形状的数据集。