K均值算法是典型的聚类算法,算法基本步骤如下
1 随机产生k个中心点,一个中心点代表一个类别
2 计算每个点与k个中心点的距离,并将该点划分到与之距离最短的中心点所属的类别当中
3 对每一个类别,使用该类中所有点的均值更新中心点
重复2/3两个步骤直到前后两次划分的类别不再改变为止
以上步骤中两点非常重要
1 每个元素都需要计算与质心得距离,距离的计算取决于距离计算函数,可以是欧式距离,也可能是曼哈顿距离
2 更新质心时使用的所有点的均值,所有点的个数是指上一次形成的簇中的簇元素个数。
K均值算法的缺点
1 但你必须事先确定 k 的大小
2 必须给出K个初始化中心
3 对于异常数据过于敏感,异常数据的存在对于中心点的计算产生极大影响
4 求中心点时需要计算算术平均
5 无法找出具有特殊形状的族
这里重新说明下聚类
聚类是一种没有训练数据分类。
实现将对象自动分组的一种方法:聚类 Cluster。引申到编程语言领域,我们常说的高内聚,低耦合,就是这里的聚类。
重新计算质心
KNN与KMeans区别
网友评论