将 kmeans 与 mahout 一起使用时忽略列

Posted

技术标签:

【中文标题】将 kmeans 与 mahout 一起使用时忽略列【英文标题】:Ignore a column when using kmeans with mahout 【发布时间】:2016-06-23 16:13:25 【问题描述】:

您好,我有一组这种形式的数据:

12347,23.75580119032886
12348,57.97548386358446
12349,24.076027347616954
12350,19.670588100657742
12352,16.267473592256245

其中第一列是用户的 ID,第二列是他购买的价值。 我正在使用带有 mahout 的 KMeans 算法将数据集划分为 3 个集群。我的问题是正在使用 Id 列,因此输出错误。 有什么方法可以忽略第一列并仅在第二列上进行聚类?谢谢。

【问题讨论】:

【参考方案1】:

使用 map-reduce 作业适当地映射数据。

【讨论】:

感谢您的回答,我添加了一个函数来映射聚类后的数据以将聚类值与 ID 匹配。

以上是关于将 kmeans 与 mahout 一起使用时忽略列的主要内容,如果未能解决你的问题,请参考以下文章

使用 Maven 运行 Kmeans 集群示例(Mahout in Action)

初学Mahout测试kmeans算法

如何使用 Mahout 成功运行 kmeans 集群(尤其是获得人类可读的输出)

如何将下面的文本转换为序列文件,该文件又将转换为 mahout kmeans 的矢量?

在 hadoop 多节点集群上运行 mahout kmeans

Mahout KMeans 生成的簇数比我的初始 K 设置翻倍