草庐IT

Kmeans算法及简单案例

Kmeans算法及简单案例Kmeans算法流程选择聚类的个数k.任意产生k个聚类,然后确定聚类中心,或者直接生成k个中心。对每个点确定其聚类中心点。再计算其聚类新中心。重复以上步骤直到满足收敛要求。(通常就是确定的中心点不再改变。)Kmeans算法流程案例将下列数据点用K-means方法进行聚类(这里使用欧式距离作为度量,K取值为2)P1~P15这15个数据点的二维坐标图如下:指定P1、P2为初始质心通过距离公式将分别计算各点到质心P1,P2数据点距离:选取距离较近的点整理进入相应队列:计算出新一轮的每一簇队列中心(质心/平均值)重复上述步骤2、3,开始新一轮迭代,算距离,取最近:算距离取最近

java - 如何在本地模式下运行 mahout kmeans 算法

是否可以在本地运行一个mahoutkmeanjava程序,以便它从本地读取数据并将其保存回本地文件系统而不是hdfs。互联网上的所有考试都在hdfs上进行。https://github.com/tdunning/MiA/blob/master/src/main/java/mia/clustering/ch07/SimpleKMeansClustering.java 最佳答案 是的,这是可能的-检查SequenceFileWriter。请参阅以下代码示例,它将集群数据点写入文件。这是一个blog详细描述了这一点的帖子:publicst

eclipse - 无法运行 MapReduce kmeans 代码

由于我是map-reduce的初学者,我正在尝试运行此kmeans代码。https://github.com/thomasjungblut/thomasjungblut-common/tree/master/src/de/jungblut/clustering/mapreduce我正在使用EclipseLuna。这段代码有很多其他依赖项。我什至尝试在eclipse中使用这些文件,但有很多依赖性错误。请有人帮忙,如何在eclipse中执行这段代码。我需要检查和下载的所有其他文件是什么。 最佳答案 我将代码移到了不同​​的存储库中。您现

hadoop - hadoop 上的 Kmeans

在Kmeans的每次迭代之后,Hadoop是否将作为一堆簇的输出存储到HDFS并在下一次迭代中将它们提取到内存?绘图员正在将观察结果放在某些集群中。我的意思是每个节点都必须知道所有的数据,而hadoop只是分发计算而不是数据,所以每个节点都会给出某个节点的观察集,对吧?谢谢 最佳答案 对于这样的迭代处理,Hadoop/MR会因为反复运行相同的作业而产生开销,直到达到聚类点的收敛。与下面提到的其他框架相比,Hadoop慢10倍。使用BSP可以高效轻松地完成像K-Means这样的迭代处理.ApacheHama和ApacheGiraph两

hadoop - 如何在不耗尽内存的情况下运行大型 Mahout 模糊 kmeans 聚类?

我在Amazon的EMR(AMI2.3.1)上运行Mahout0.7模糊k-means集群,并且我的内存不足。我的总体问题:如何最轻松地让它发挥作用?这是一个调用:./bin/mahoutfkmeans\--inputs3://.../foo/vectors.seq\--outputs3://.../foo/fuzzyk2\--numClusters128\--clusterss3://.../foo/initial_clusters/\--maxIter20\--m2\--methodmapreduce\--distanceMeasureorg.apache.mahout.commo

hadoop - 在 hadoop 多节点集群上运行 mahout kmeans

我在多节点集群上运行kmeans。输入大小约为100mb,我已经像这样修改了bin/mahout文件...MAHOUT_OPTS="$MAHOUT_OPTS-Dmapred.min.split.size=10MB"..MAHOUT_OPTS="$MAHOUT_OPTS-Dmapred.map.tasks=10"在每次迭代中我得到12/09/1217:05:02INFOmapred.JobClient:Launchedmaptasks=112/09/1217:05:02INFOmapred.JobClient:Launchedreducetasks=612/09/1217:05:02IN

hadoop - mahout kmeans 聚类 : showing error

我试图在mahout中对数据进行聚类。显示错误。这是错误java.lang.ArrayIndexOutOfBoundsException:0atorg.apache.mahout.clustering.classify.ClusterClassificationMapper.populateClusterModels(ClusterClassificationMapper.java:129)atorg.apache.mahout.clustering.classify.ClusterClassificationMapper.setup(ClusterClassificationMapp

python - 基于mapreduce和hadoop的迭代kmeans

我已经为Hadoop编写了一个简单的k-means集群代码(两个独立的程序-mapper和reducer)。该代码正在我本地盒子上的一个小型二维点数据集上工作。它是用Python编写的,我打算使用StreamingAPI。每次运行mapper和reducer后,都会生成新的中心。这些中心是下一次迭代的输入。根据建议,我使用了mrjob,jobpython,适合多步,defsteps(self):return[self.mr(mapper=self.anything,combiner=self.anything,reducer=self.anything)]这只是一次迭代,请告诉我在生成

hadoop - 如何将 Mahout KMeans 聚类集成到应用程序中?

我正在尝试将MahoutKMeans用于一个简单的应用程序。我根据数据库内容手动创建了一系列向量。我只是想将这些向量提供给Mahout(0.9),例如KMeansClusterer并使用输出。我阅读了MahoutinAction(版本0.5中的示例)和许多在线论坛以获取背景知识。但是,如果没有通过Hadoop使用文件名和文件路径,我再也看不到使用MahoutKMeans(或相关集群)的方法了。文档非常简略,但是Mahout是否可以再以这种方式使用?当前是否有任何使用MahoutKMeans的示例(不是来自命令行)。privateListkMeans(Listallvectors,dou

hadoop - 无法在 Mahout 中实例化类型 Cluster、KMean 聚类示例

您好,我试图在Mahout中运行KmeanClusteringExample,但遇到了示例代码中的错误。我在下面的代码片段中遇到错误集群cluster=newCluster(vec,i,newEuclideanDistanceMeasure());报错CannotinstantiatetheTypeCluster(这是一个接口(interface),我的理解)。我想在我的样本数据集上运行kmeans,任何人都可以指导我吗?我在我的EClipseIDE中包含了以下Jarmahout-math-0.7-cdh4.3.0.jarhadoop-common-2.0.0-cdh4.2.1.jar