0
を表示します。ここで短いビデオを参照して、apache mahoutを使用したシンプルなムービー推奨システムを開発中です。https://www.youtube.com/watch?v=yD40rVKUwPI推薦者のためのコードがapacheマホートからの推奨として「ムービーID」の代わりに「ムービーID」の代わりに
public class App
{
public static List<RecommendedItem> getRecommend(int k) throws Exception
{
ClassLoader classLoader = App.class.getClassLoader();
DataModel model = new FileDataModel(new File(classLoader.getResource("data/dataset.csv").getFile()));
UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model);
UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);
List<RecommendedItem> recommendations = recommender.recommend(k, 3);
return recommendations;
}
}
ですこれは私が欲しいid's.What映画の形で推奨を生成名の代わりに、映画のIDを表示することです。 (IDを生成する)私が使用しているデータセットは、CSV形式の列次有する
user_id movie_id rating
しかし
フィールドuser_id movie_id rating
及び第二
とを有する2つのファイル - 一つを有するMovieLensデータセットが存在するのでmovie_id movie_name
私は上記のresourcestoを使用して、idの代わりにmovie_namesを取得できます。 DataModelクラスで可能か、それとも別の方法がありますか? 私は
movie_name value
代わりの存在
movie_id value
はい私はrating.csvとは別にmovie_title.csvを持っています。私が考えていたのは、これらの2つのファイルをどうにかして単一のcsvにマージし、それを現在のデータセット(rating.csv)の代わりにデータセットとして使用することでした。それは働くでしょうか?ちょっと凝ってください、私は初めてそれを試しています。 rating.csvにはmovie_idのみが含まれ、movie_title.csvにはmovie_idがtitleでマップされます。 – techvigil
MahoutのAPIとデータモデルについては、そのようにデータをモデル化できるかどうかを知るには十分ではありません。私はそれを疑うが、間違っている可能性が非常に高い。これらのシステムの多くは評価マトリックスを使用しており、アイテムメタデータを自分で検索する必要があります。 –