推薦エンジンを簡単に作れるmahoutについての
質問です
下記のようなサンプルコードがあります
サンプルコードを実行すると動作してくれるのですが
自分の作ったデータセットを用いて実行すると
エラーは起こらず終了するのですが
リコメンドの結果をだしてくれません
なにがいけないのでしょうか
データ量を小さくしてもなりません
結果
サンプルコードの場合
情報: Creating FileDataModel for file \Users\kohei nishimuta\Desktop\卒研\推薦\sample.csv [木 1 12 22:22:38 JST 2017]
情報: Reading file info... [木 1 12 22:22:38 JST 2017]
情報: Read lines: 32 [木 1 12 22:22:38 JST 2017]
情報: Reading file info... [木 1 12 22:22:38 JST 2017]
情報: Read lines: 32 [木 1 12 22:22:38 JST 2017]
情報: Processed 6 users [木 1 12 22:22:38 JST 2017]
RecommendedItem[item:106, value:3.094736]
自分で作ったデータセットの場合
作ったデータセットの場合
情報: Creating FileDataModel for file \Users\kohei nishimuta\Desktop\卒研\推薦\dataset(pfpf)2.csv [木 1 12 22:25:37 JST 2017]
情報: Reading file info... [木 1 12 22:25:37 JST 2017]
情報: Read lines: 31 [木 1 12 22:25:37 JST 2017]
情報: Processed 27 users [木 1 12 22:25:37 JST 2017]
※RecommendItemの記述がない
Java
1import java.io.File; 2import java.util.List; 3 4import org.apache.mahout.cf.taste.impl.model.file.FileDataModel; 5import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood; 6import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender; 7import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity; 8import org.apache.mahout.cf.taste.model.DataModel; 9import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood; 10import org.apache.mahout.cf.taste.recommender.RecommendedItem; 11import org.apache.mahout.cf.taste.recommender.Recommender; 12import org.apache.mahout.cf.taste.similarity.UserSimilarity; 13 14class MahoutSample2 { 15 16 private MahoutSample2() { 17 } 18 19 public static void main(String[] args) throws Exception { 20 File modelFile = null; 21 if (args.length > 0) 22 modelFile = new File(args[0]); 23 if(modelFile == null || !modelFile.exists()) 24 modelFile = new File("/Users/kohei nishimuta/Desktop/卒研/推薦/dataset(pfpf).csv"); 25 if(!modelFile.exists()) { 26 System.err.println("Please, specify name of file, or put file 'input.csv' into current directory!"); 27 System.exit(1); 28 } 29 DataModel model = new FileDataModel(modelFile); 30 31 UserSimilarity similarity = new PearsonCorrelationSimilarity(model); 32 UserNeighborhood neighborhood = 33 new NearestNUserNeighborhood(2, similarity, model); 34 35 Recommender recommender = new GenericUserBasedRecommender( 36 model, neighborhood, similarity); 37 38 List<RecommendedItem> recommendations = 39 recommender.recommend(4515, 1); 40 41 for (RecommendedItem recommendation : recommendations) { 42 System.out.println(recommendation); 43 } 44 45 } 46 47}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。