mahout k-means
来源:互联网 发布:linux vsftp安装包 编辑:程序博客网 时间:2024/05/21 21:33
Kmeans算法是应用的最广泛的基于划分的算法,实验室有个小伙伴最后的毕业论文也是基于kmeans聚类进行研究的(咦。。。好像前言不搭后语)。
kmeans算法的大致思想是:首先随机选取K个数据对象,每个数据对象分别代表了K个簇的中心点,对于剩下的每个对象,分别计算该对象到各个中心点的距离,并将他们分配给最近的簇,然后重新计算各个簇的中心。重复这个过程,直至聚类准则函数收敛。准则函数一般有两种,一是全局误差函数,二是前后两次中心误差变化
Kmeans算法的基本过程如下:
step1:输入:k, data[n];
step2:选择k个初始中心点,例如c[0]=data[0],…c[k-1]=data[k-1];
step3:对于data[0]….data[n], 分别与c[0]…c[k-1]比较,假定与c[i]差值最少,就标记为i;
step4:对于所有标记为i点,重新计算c[i]={ 所有标记为i的data[j]之和}/标记为i的个数;
step5:重复(2)(3),直到所有c[i]值的变化小于给定阈值。
Kmean算法特点:①对于处理大规模数据集,算法相对是可伸缩和高效的
②当数据集满足球状簇或者团状簇时,聚类效果很好。
③事先确定K值,需要用户事先了解数据的特点,而且该算法经常以局部最优结束,有时很难达到全局最优。
④对初始聚类中心比较敏感,对于不同的初始值,聚类结果可能回产生很大的差异
⑤易受噪声和孤立点影响
step5:重复(2)(3),直到所有c[i]值的变化小于给定阈值。
Kmean算法特点:①对于处理大规模数据集,算法相对是可伸缩和高效的
②当数据集满足球状簇或者团状簇时,聚类效果很好。
③事先确定K值,需要用户事先了解数据的特点,而且该算法经常以局部最优结束,有时很难达到全局最优。
④对初始聚类中心比较敏感,对于不同的初始值,聚类结果可能回产生很大的差异
⑤易受噪声和孤立点影响
1 0
- Mahout K-means聚类
- Mahout----K-means学习
- Mahout K-means聚类
- Mahout Canopy+K-Means
- mahout k-means
- mahout k-means实战
- Mahout实现k-means算法
- mahout中k-means例子的运行
- Mahout之k-means算法源码分析
- mahout下的K-Means Clustering实现
- mahout测试k-Means聚类算法
- Mahout clustering Canopy+K-means 源码分析
- Mahout K-Means输出结果解析
- mahout 源码解析之聚类--K-Means,FuzzyKMeans
- 实战Mahout聚类算法Canopy+K-means
- 利用Mahout实现在Hadoop上运行K-Means算法
- 实战Mahout聚类算法Canopy+K-means
- 实战Mahout聚类算法Canopy+K-means
- SwiftJSON源码学习笔记
- java 环境变量最简单的配置
- 关于ORM的一些体会
- java.lang.NullPointerException E/AndroidRuntime(27395): at android.app.BackStackRecord.run(BackSt
- 接口的一个用法---将接口作为方法的参数
- mahout k-means
- POJ3752 字母旋转游戏【水题】
- C++ 智能指针详解
- 微信小程序格式化日期函数
- 转 localStorage
- 搜集的一些项目源码,改改就能用
- android UiAutomator了解源码解决控件bonds[0,0]无法点击
- Trie树
- 用Java声明一个方法(函数)找出输入数值的范围去全部素数(质数)