k-means 算法基础原理
本文注重对 k-means 算法的实现作出分析,基础原理不作赘述。
k-means 算法的特点
1. k-means 算法的基本概念:
- k 代表分为几个簇
- means 表示寻求新质心点的时候采用求均值的方法
2. k-means 算法的特点:
- k-means 算法与 knn 算法类似,都是需要“聚类”
- k-means 算法是无监督学习算法的一种
k-means 算法的实现步骤:
- 随机选取 K 个对象,并以它们为质心;
- 计算数据集样本点到质心的距离;
- 根据样本点距离质心的距离将其分簇(类),距离哪个近,划分到哪个簇(类);
- 以簇内所有样本点的均值重新计算质心,,然后重复第二步,直到划分的簇(类)不在变化后停止。
k-means 算法代码实现
模块的导入与 K 均值聚类算法类的定义
随机生成测试集
画出图像,实现聚类算法
完整代码
源码参考自 https://github.com/luokn/ml/blob/master/src/kmeans.py