Mahout に基づいたレコメンデーション モデルを構築したいと考えています。私のデータセット形式には、userID、itemID、評価、およびタイムスタンプ以外の余分な列があります。したがって、FileDataModel を拡張する必要があると思います。
例としてJesterDataModelを調べました。ただし、ロジックフローに問題があります。そのbuildModel()メソッドでは、空のマップ「データ」が最初に構築されます。その後、processFile にスローされます。後で GenericDataModel を構築するために使用されるため、このメソッドで "data" が変更されると仮定します。ただし、data はクラス変数ではなくローカル変数なので、どのように変更されるのでしょうか
processFile(iterator, data, timestamps, false);
return new GenericDataModel(GenericDataModel.toDataMap(data, true));