我是Apache Mahout的新手。我试图了解我的哪些命名 vector 属于哪个群集。互联网上的许多资源都是关于文本文档的,并使用clusterdump命令。但是,我的数据集确实很大,运行命令总是会导致Java内存不足异常。此外,我认为使用clusterdump不会回答我的问题。
我想知道是否可以仅使用目录clusteredPoints
和clusters-[0-9]+
和clusters-*-final
来了解哪些命名 vector 属于哪些集群
到目前为止,如果有帮助,我已经根据他们的歌曲收听习惯形成了一个用户群。为此,我最初使用NamedVectors创建了一个序列文件,其中NamedVector的名称是userId,Vector本身是一个 double 数组,其中包含用户收听的歌曲标签的权重(下面是一个示例)。
AR2TSU61187FB5C4F0 0.5 0.2 0.7 0.0 0.0 0.1 0.0 0.0 ...
...
...
...
然后,我成功运行了k-means。我在目录clusteredPoints(约88个文件,名称如part-m-00088)中有输出,在目录群集中我也相信包含质心。
谢谢你的帮助!
最佳答案
我认为您需要在clusterdump中进行一些研究,尝试mahout clusterdump --help
试试这个
mahout clusterdump -i clusters-*-final/part-r-00000 -o output -p clusteredPoints/part-m-00000
并尝试使用此link进行进一步说明。
您也可以尝试添加-CSV选项,
您将看到这样的显示:
关于apache - 每个Mahout群集中的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16138045/