我想建立一个基于 Mahout 的推荐模型。我的数据集格式有除 userID、itemID、rating 和 timestamp 之外的额外列。因此,我认为我需要扩展 FileDataModel。
我以JesterDataModel为例。但是,我的逻辑流程有问题。在它的buildModel()方法中,首先构造一个空的地图“数据”。然后将其扔到 processFile 中。我假设在这个方法中修改了“数据”,因为后来它被用来构造GenericDataModel 但是,数据是局部变量而不是类变量,那么它是如何修改的呢?
processFile(iterator, data, timestamps, false);
return new GenericDataModel(GenericDataModel.toDataMap(data, true));