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 聚类?

Mahout实践指南 pdf

Apache Mahout K-means 集群实现

如何在 Mahout K-means 聚类中维护数据条目 ID

mahout in Action2.2-聚类介绍-K-means聚类算法