Kmeans算法的Java实现。源代码放在github上,大家有兴趣能够下下来看看, 源代码地址: https://github.com/l294265421/algorithm-kmeans 实现该算法主要阅读的书籍是: 《Web数据挖掘》第二版,作者:Bing Liu。译者:俞勇 Kmeans算 ...
分类:
编程语言 时间:
2017-08-16 13:14:17
阅读次数:
165
最近在做hadoop上面的东西,今天跑一个kmeans算法,数据量是200W,运行到最后报错了, 最后在网上找到了答案,原来是hadoop配置的堆的空间太小,解决方法是在haoop-env.sh中加以修改 原本的配置是: export HADOOP_CLIENT_OPTS="-Xmx128m $HA ...
分类:
编程语言 时间:
2017-05-06 13:21:47
阅读次数:
141
刚刚研究了Kmeans。Kmeans是一种十分简单的聚类算法。可是他十分依赖于用户最初给定的k值。它无法发现随意形状和大小的簇。最适合于发现球状簇。他的时间复杂度为O(tkn)。kmeans算法有两个核心点:计算距离的公式&推断迭代停止的条件。一般距採用欧式距离等能够随意。推断迭代停止的条件能够有: ...
分类:
编程语言 时间:
2017-04-28 20:30:15
阅读次数:
646
1. 聚类与分类的区别: 首先要来了解的一个概念就是聚类,简单地说就是把相似的东西分到一组,同 Classification (分类)不同,对于一个 classifier ,通常需要你告诉它“这个东西被分为某某类”这样一些例子,理想情况下,一个 classifier 会从它得到的训练集中进行“学习” ...
分类:
编程语言 时间:
2017-03-17 23:51:47
阅读次数:
427
序 由于项目需要,需要对数据进行处理,故而又要滚回来看看paper,做点小功课,这篇文章只是简单的总结一下基础的Kmeans算法思想以及实现; 正文: 1.基础Kmeans算法. Kmeans算法的属于基础的聚类算法,它的核心思想是: 从初始的数据点集合,不断纳入新的点,然后再从新计算集合的“中心” ...
分类:
编程语言 时间:
2017-03-14 13:32:51
阅读次数:
315
1.knn是分类算法 2.监督学习 3.给它的数据是有label的,是已经事先分类好了的, 类别数不变。 1.kmeans是聚类算法 2.非监督学习 3.给它的数据是没有label,是没有事先分类好的, 以“物以类聚”原理进行聚集成簇。 K的含义:来了一个样本x,要给它分类,即求出它的类别,就从数据 ...
分类:
编程语言 时间:
2017-03-04 13:09:54
阅读次数:
467
(上接第二章) 4.3.1 KMeans 算法流程 算法的过程如下: (1)从N个数据文档随机选取K个文档作为质心 (2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类 (3)重新计算已经得到的各个类的质心 (4)迭代(2)~(3)步直至新的质心与原质心相等或者小于指定阀值,算法结 ...
分类:
编程语言 时间:
2017-01-05 17:54:31
阅读次数:
311
一、 什么是聚类 聚类简单的说就是要把一个文档集合根据文档的相似性把文档分成若干类,但是究竟分成多少类,这个要取决于文档集合里文档自身的性质。下面这个图就是一个简单的例子,我们可以把不同的文档聚合为3类。另外聚类是典型的无指导学习,所谓无指导学习是指不需要有人干预,无须人为文档进行标注。 二、聚类算 ...
分类:
编程语言 时间:
2016-12-24 23:04:10
阅读次数:
1222
预备工作: 启动hadoop集群 准备数据 Synthetic_control.data数据集下载地址http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data 在集群中创建 /user/root/ ...
分类:
编程语言 时间:
2016-11-05 17:28:43
阅读次数:
253
kmeans一般在数据分析前期使用,选取适当的k,将数据聚类后,然后研究不同聚类下数据的特点。 算法原理: (1) 随机选取k个中心点; (2) 在第j次迭代中,对于每个样本点,选取最近的中心点,归为该类; (3) 更新中心点为每类的均值; (4) j<-j+1 ,重复(2)(3)迭代更新,直至误差 ...
分类:
编程语言 时间:
2016-09-04 19:11:31
阅读次数:
2057