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



我正在尝试聚集以下示例坐标集:

(1,1) , (2,1) , (1,2), (2,2), (3,3), (8,8), (8,9), (9,8), (9,9)

这些坐标应形成两个簇:

(1,1) , (2,1) , (1,2), (2,2), (3,3)

(8,8), (8,9), (9,8), (9,9)

这就是我进行的方式:

步骤 1:将其存储在hadoop上的文件中,将其存储为:

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:运行冠层血液以生成簇为:

$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 = []}重量:[props -optional]:点:点: 1.0:[4.000,2.000,4.000,4.000,4.000]

我想知道哪些坐标是哪个群集?我没有得到。

群集分配信息应在xz/clusteredpoints

尝试以下操作:mahout seqdumper -i xz/clusteredpoints/part-m-00000

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

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

在此示例中提到了clusteredpoints目录:https://cwiki.apache.org/confluence/display/mahout/quick tour fers text text analysis using the mahout command command line

祝你好运!

您的方法不正确!这样,您只会得到一个矢量!因此,您应该首先编写一个Hadoop程序,该程序将每行作为一个值和任何独特的键。您的Hadoop程序的输出格式必须是顺序输出格式。然后,使用seqsparse将结果(顺序文件)转换为Mahout向量。最后,应用Kmeans或任何您的Mahout聚类算法。

相关内容

  • 没有找到相关文章

最新更新