首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用命令行创建集群的Mahout --问题

使用命令行创建集群的Mahout --问题
EN

Stack Overflow用户
提问于 2014-02-07 09:59:43
回答 2查看 546关注 0票数 0

我试图对以下坐标示例集进行聚类:

代码语言:javascript
复制
(1,1) , (2,1) , (1,2), (2,2), (3,3), (8,8), (8,9), (9,8), (9,9)

这些坐标应该形成两个集群:

代码语言:javascript
复制
(1,1) , (2,1) , (1,2), (2,2), (3,3)

代码语言:javascript
复制
(8,8), (8,9), (9,8), (9,9)

我就是这样做的:

步骤 1:将此数据作为选项卡分隔的数据存储在hadoop上的文件中:

代码语言:javascript
复制
1 1

2 1

1 2

2 2

3 3

8 8

8 9

9 8

9 9

步骤2:将该文件转换为序列文件如下:

$mahout seqdirectory --input my.data --output kdraft -c UTF-8

步骤3:创建稀疏数据文件如下:

$mahout seq2sparse -i kdraft -o kfinal -wt tf

步骤 4: Ran生成集群,如:

$mahout canopy -i kfinal/tf-vectors --clustering -o xz -t1 5 -t2 2 -ow

步骤4:转储输出

$mahout clusterdump --input xz/clusters-0-final --pointsDir xz/clusteredPoints/ --output /home/ashokharnal/data/c.txt

输出在c.txt中显示为:

C-0{n=1 c=4.000,2.000,4.000,4.000,4.000 r=[]}重量:道具-可选点: 1.0: 4.000,2.000,4.000,4.000,4.000

我想知道哪个坐标在哪个星系团中?我不会明白的。

EN

回答 2

Stack Overflow用户

发布于 2014-02-08 06:18:21

聚类分配信息应该在xz/clusteredPoint中。

试一试: mahout -i xz/clusteredPoint/part-m-00000

它应该给出每一行都是将数据点分配给集群的输出。当我处理我的工作时,首先显示集群号,然后是表示可能性的值,数据点的文件标识符,最后是坐标信息。

对不起,我不能说得更具体,我无法让示例运行并复制您粘贴的输出。

本例中提到了clusteredPoints目录:https://cwiki.apache.org/confluence/display/MAHOUT/Quick+tour+of+text+analysis+using+the+Mahout+command+line

祝好运!

票数 0
EN

Stack Overflow用户

发布于 2014-07-16 12:56:07

你的方法不对!这样做,你只得到一个向量!因此,您首先应该编写一个hadoop程序,它将每一行作为一个值和任何唯一的键。hadoop程序的输出格式必须是顺序输出格式。然后,使用Seq稀疏将结果(顺序文件)转换为mahout向量。最后,应用Kmeans或任何您的mahout聚类算法。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21624585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档