【发布时间】:2013-05-09 10:30:03
【问题描述】:
我想建立一个基于 Mahout 的推荐模型。我的数据集格式有除 userID、itemID、rating 和 timestamp 之外的额外列。因此,我认为我需要扩展 文件数据模型。
我以 JesterDataModel 为例进行了研究。但是,我的逻辑流程有问题。在它的 buildModel() 方法中,首先构造一个空的地图“数据”。然后将其扔到 processFile 中。我假设在这个方法中修改了“data”,因为后面是用来构造GenericDataModel的,但是data是局部变量而不是类变量,那么怎么修改呢?
processFile(iterator, data, timestamps, false);
return new GenericDataModel(GenericDataModel.toDataMap(data, true));
【问题讨论】:
-
你想用这些额外的列做什么?
-
@Julian 例如,每个用户阅读一本书,给它评分,然后添加一些标签。额外的列是标签。当向用户推荐一本书时,我还想看看这本书的标签是否与用户的标签匹配。当然,我可以创建另一个数据结构来存储这些标签首选项,但理想情况下,我想将所有东西都包装到 DataModel 中。
标签: mahout datamodel mahout-recommender