聚类分析(一)——Kmeans
来源:互联网 发布:mysql数据库重启命令 编辑:程序博客网 时间:2024/06/02 06:00
K-means算法
一般情况,聚类算法可以划分为以下几类:划分方法(partitioning method)、层次方法(hierarchical methods)、基于密度的方法(density-based methods)、基于网格的方法(grid-based methods)、基于模型的方法(model-based methods).k-means算法属于划分方法中的一种。
K-means算法的整个流程:首先从聚类对象中随机选出K个对象作为类簇的质心(当然了,初始参数的K代表聚类结果的类簇数),对剩余的每个对象,根据它们分别到这个K个质心的距离,将它们指定到最相似的簇(因为K-means是利用距离来量化相似度的,所以我们这里可以理解为是“将它们指定到离最近最近距离的质心所属类簇”)。然后重新计算质心位置。以上过程不断反复,直到准则函数收敛为止。通常采用平方误差准则,定义如下:
其中,E代表的意思是所有类簇中各对象到其所属类簇质点平方误差和.
K:聚类结果类簇个数
Ci:第i个类簇
P:类簇中聚类对象
mi:第i个类簇的质心
K-means的优点和不足:能处理大型数据集,结果簇相当紧凑,并且簇和簇之间明显分离。计算复杂性O(tkn) t:迭代次数、K :聚类数 n:样本数;但是
1)该算法必须事先给定类簇数和质点,簇数和质点的初始值设定往往会对聚类的算法影响较大。
2 ) 通常会在获得一个局部最优值时停止,
3 ) 并且只适合对数值型数据聚类,
4) 只适用于聚类结果为凸形的数据集,K-means方法不适合发现非凸面形状的类簇,或者大小差别很大的簇。
5) 对“噪音”和孤立点数据敏感,少量的该类数据对质点的计算会产生极大的影响。
关于K-means的代码实现网上有很多。:)
转自:http://www.360doc.com/content/11/0608/15/7000788_122465274.shtml
- 聚类分析(一)——Kmeans
- 聚类分析之——Kmeans算法(一)
- 聚类分析(一) 什么是聚类分析
- mahout运行测试与数据挖掘算法之聚类分析(一)kmeans算法解析
- spark:聚类分析KMeans--47
- Python KMeans聚类分析
- 【机器学习】聚类分析(一)——k-means算法
- Java实现聚类分析Kmeans算法
- sklearn中kmeans聚类分析常用命令
- 聚类分析初探(一)引言
- 实验一 NPC问题——回溯算法、聚类分析
- 数学建模(15)——聚类分析
- 聚类分析——matlab
- 聚类分析:k-means和appropriate kmeans
- spark:第一次接触聚类分析Kmeans算法--16
- 聚类分析之R语言篇 (Kmeans)
- 基于Spark ML 聚类分析实战的KMeans
- 聚类分析-K均值matlab(一)
- TCP的状态迁移图详解
- hdu2955 Robberies(背包问题)
- MVC和三层架构的比较
- NYOj115-城市平乱-Dijkstra-
- 单页应用---先了解一点
- 聚类分析(一)——Kmeans
- ncverilog和verdi结合使用dump fsdb
- 高效STL—迭代器 & 算法
- 黑马程序员——OC中字典的用法总结
- 给老板汇报技术规划的要点
- 小白马卫士之流量统计
- Audio笔记之耳机插拔检测
- Python中将生成的向量存入一个矩阵中
- 聚类分析(二)——K中心点算法(k-mediods)