K-means算法
简介:
-
K-means算法是输入聚类个数k,以及包含 n个数据对象的数据库,输出满足方差最小标准k个聚类的一种算法。k-means算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。
-
聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。
K-means性能分析
主要优点:
-
是解决聚类问题的一种经典算法,简单、快速。
-
对处理大数据集,该算法是相对可伸缩和高效率的。因为它的复杂度0 (n k t ) , 其中, n **是所有对象的数目, k 是簇的数目, t **是迭代的次数。通常k << n 且t <<n 。
-
当结果簇是密集的,而簇与簇之间区别明显时,它的效果较好。
主要缺点:
在簇的平均值被定义的情况下才能使用,这对于处理符号属性的数据不适用.
必须事先给出k(要生成的簇的数目),而且对初值敏感,对于不同的初始值,可能会导致不同结果。
它对于“躁声”和孤立点数据是敏感的,少量的该类数据能够对平均值产生极大的影响。
k-均值示例