Mahout K 表示聚类输入文件格式
Posted
技术标签:
【中文标题】Mahout K 表示聚类输入文件格式【英文标题】:Mahout K Means clustering input file format 【发布时间】:2014-08-07 21:28:31 【问题描述】:我正在尝试使用 Mahout 运行 K 均值集群算法。我不知道如何格式化输入文件。我在表中拥有的基本数据是一个用户 ID,后跟数百个值。我知道我需要将输入作为向量提供,有人可以分享这个格式吗?
例如:
User Nbr_of_tweets Total_spend Gender Home_ownership email_on_file transaction_count
A 20 $30 Male Owns a home Y 5
B 10 $400 Female Rents N 20
....
会不会是:
A:20,30,0,0,1,5
B:10,400,1,1,0,20
我正在编码:
-
男性为 0,女性为 1 和
拥有房屋为 0,租金为 1
Y 为 1,N 为 0
【问题讨论】:
【参考方案1】:我是 Mahout 的新手,遇到了同样的问题。我终于在 mahout 网站上找到了一个关于在您的类型上应用聚类(k-means 也是我的目标)的示例,这也是我的(https://mahout.apache.org/users/clustering/clustering-of-synthetic-control-data.html)。 基本上,您的文件应该是这种格式(我只是以 0 和 1 为例)。
1 0 1 0 0 1
0 1 1 1 1 1
0 1 1 0 1 0
...
在您的案例中,每条记录都应该是用户(在我的案例中,每条记录都是机器的输出)。 要运行 K-means,我使用的是网站中建议的命令,但如果我理解得很好,结果是一组质心,而不是一组聚类数据。
请记住,输入必须存储在 HDFS 文件系统中,而输出则保存在本地文件系统中(只是为了避免像我一样努力寻找输出文件 :-))
希望对你有帮助。
【讨论】:
以上是关于Mahout K 表示聚类输入文件格式的主要内容,如果未能解决你的问题,请参考以下文章
使用 Clojure 使用 Mahout 进行聚类 (fkmeans)
如何使用存储为 CSV 的矢量数据在 mahout 中执行 k-means 聚类?