您的位置:首页 > 其它

K-Means聚类

2016-03-12 11:36 323 查看

K-Means聚类

算法基本流程

随机选取k个中心点

遍历所有数据,将每个数据划分到最近的中心点中

计算每个聚类的平均值,并作为新的中心点

重复2-3,直到这k个中线点不再变化(收敛了),或执行了足够多的迭代

时间复杂度:O(I*n*k*m)

空间复杂度:O(n*m)

其中m为每个元素字段个数,n为数据量,I为迭代个数。一般I,k,m均可认为是常量,所以时间和空间复杂度可以简化为O(n),即线性的。

算法详解

首先是距离计算方式的选择,一般有两种计算方式,一是欧式距离,而是曼哈顿距离

计算聚类中心的方法

Minkowski Distancedij=λ∑k=1n|xik−xjk|λ‾‾‾‾‾‾‾‾‾‾‾‾‾‾⎷λ 可以随意取值,可以是负数,也可以是正数,或是无穷大

Euclidean Distancedij=∑k=1n|xik−xjk|2‾‾‾‾‾‾‾‾‾‾‾‾‾‾⎷

CityBlock Distancedij=∑k=1n|xik−xjk|
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息