Java实现Kmeans算法

Kmeans算法的Java实现,源码放在github上,大家有兴趣可以下下来看看, 源码地址:

https://github.com/l294265421/algorithm-kmeans

实现该算法主要阅读的书籍是:

《Web数据挖掘》第二版,作者:Bing Liu,译者:俞勇

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 19:59:07

Java实现Kmeans算法的相关文章

【Java】K-means算法Java实现以及图像分割

1.K-means算法简述以及代码原型 数据挖掘中一个重要算法是K-means,我这里就不做详细介绍.如果感兴趣的话可以移步陈皓的博客: http://www.csdn.net/article/2012-07-03/2807073-k-means 讲得很好 总的来讲,k-means聚类需要以下几个步骤: ①.初始化数据 ②.计算初始的中心点,可以随机选择 ③.计算每个点到每个聚类中心的距离,并且划分到距离最短的聚类中心簇中 ④.计算每个聚类簇的平均值,这个均值作为新的聚类中心,重复步骤3 ⑤.如

K-means算法的java实现,聚类分析681个三国武将

分类: java 算法 2012-05-07 16:58 4988人阅读 评论(27) 收藏 举报 算法javastringdistancealignment 目录(?)[+] 一,k-means算法介绍: k-means算法接受输入量 k :然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高:而不同聚类中的对象相似度较小.聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的.k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之

java实现K-means聚类算法

import java.util.ArrayList; import java.util.Random; /** * K均值聚类算法 */ public class Kmeans { private int numOfCluster;// 分成多少簇 private int timeOfIteration;// 迭代次数 private int dataSetLength;// 数据集元素个数,即数据集的长度 private ArrayList<float[]> dataSet;// 数据集链

K-Means算法Demo

简介:本Demo是参照这个网站上的Demo自己用Java实现的.将Java打包为Jar,再将Jar转为exe,源代码及程序Demo下载请点我. K-Means算法简介 我尽量用通俗易懂但不规范的语言来描述K-Means算法. K-eans算法是数据挖掘十大算法之一,是一种聚类算法,也是最简单的无监督学习(unsupervised learning)算法之一. 假设有一个元素集合,我们的目标是将该集合中的元素划分成K个簇(就是K个部分),每个簇内的元素相似度较高,不同簇的元素相似度较低(正所谓物以

数据挖掘经典算法——K-means算法

算法描述 K-means算法是一种被广泛使用的基于划分的聚类算法,目的是将n个对象会分成k个簇.算法的具体描述如下: 随机选取k个对象作为簇中心: Do 计算所有对象到这k个簇中心的距离,将距离最近的归入相应的簇: 重新计算每个簇的中心: 计算准则函数V: While 准则函数的值稳定(或变化小于某个阈值) 其中准则函数V的定义如下:   其中,ui表示第i个簇Si的中心.最终经过T次迭代获取到最终的分类结果,对于第t+1次迭代之后得到的中心,有如下定义: 算法的优缺点 优点: 1)      

hadoop下实现kmeans算法——一个mapreduce的实现方法

写mapreduce程序实现kmeans算法,我们的思路可能是这样的 1. 用一个全局变量存放上一次迭代后的质心 2. map里,计算每个质心与样本之间的距离,得到与样本距离最短的质心,以这个质心作为key,样本作为value,输出 3. reduce里,输入的key是质心,value是其他的样本,这时重新计算聚类中心,将聚类中心put到一个全部变量t中. 4. 在main里比较前一次的质心和本次的质心是否发生变化,如果变化,则继续迭代,否则退出. 本文的思路基本上是按照上面的步骤来做的,只不过

JAVA实现K-means聚类

转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/51086879 http://www.llwjy.com/blogdetail/bf27dd0be964886d11185743779e40e0.html 个人博客站已经上线了,网址 www.llwjy.com ~欢迎各位吐槽~ ----------------------------------------------------------------------------

hadoop在实现kmeans算法——一个mapreduce实施

写mapreduce程序实现kmeans算法.我们的想法可能是 1. 次迭代后的质心 2. map里.计算每一个质心与样本之间的距离,得到与样本距离最短的质心,以这个质心作为key,样本作为value,输出 3. reduce里,输入的key是质心,value是其它的样本,这时又一次计算聚类中心,将聚类中心put到一个所有变量t中. 4. 在main里比較前一次的质心和本次的质心是否发生变化,假设变化,则继续迭代,否则退出. 本文的思路基本上是依照上面的步骤来做的,仅仅只是有几个问题须要解决 1

mahout下的Hadoop平台上的Kmeans算法实现

Mahout主要有协同过滤.聚类和分类三种算法的实现.现在我们就用Mahout来实现经典的Kmeans聚类算法. 首先,下载Hadoop和Mahout.因为Mahout有很多实现是运行在Hadoop上的,所以要先安装Hadoop. 具体怎么安装?简单地说一下: 1. 先安装SSH. ufw disable 关闭防火墙 cd .ssh/   进入ssh文件夹,没有的话,下面生产密钥的时候自动生成 ssh-keygen -t rsa 生成ssh密钥 cp id_rsa.pub authorized_