問題タブ [mahout-recommender]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - サンプル データでの Apache Mahout トレーニングと実際のデータでの実装
シナリオは次のようになります。
私は apache mahaout を使用してレコメンダーを作成しようとしています。類似性マトリックスを生成し、アイテム間の類似性を判断するためのサンプル設定 (ユーザー、アイテム、設定値) データがあります。しかし、実際の嗜好データは、サンプルの嗜好データよりもはるかに大きくなります。実際の嗜好データに存在する項目 ID のリストは、すべてサンプル嗜好データにも存在します。ただし、サンプル データのユーザー ID は、実際のデータよりもはるかに少なくなっています。
ここで、実際のデータでレコメンダーを実行しようとすると、サンプル データにユーザー ID が存在しなかったため、ユーザー ID が存在しないというエラーが表示され続けます。mahout のレコメンダーに新しいユーザー ID とその設定を挿入して、アイテム間の類似性に基づいてオンザフライでユーザーのレコメンデーションを生成するにはどうすればよいですか? または、新しいユーザー向けのレコメンデーションを生成する他の方法がある場合は、提案してください。
ありがとう。
mahout - Mahout での疑似レコメンダー ジョブを使用した汎用ユーザー ベースのレコメンダー
Mahout で汎用ユーザー ベースのレコメンダーを使用して疑似レコメンダーを実行しようとしています。しかし、それは IllegalStateException> を与えています。GenericUserbasedRecommender には Datamodel、neighborhood、similarity パラメーターが必要であるのに対し、Pseudo Recommender にはパラメーターとして DataModel のみを持つクラスが必要であるという事実が原因である可能性があることがわかりました。したがって、Mahout で GenericUserbasedRecommender を PseudoRecommenderJob と共に使用する方法について、誰でも助けてもらえますか。
mahout - Mahout アイテムベースの CF 用の Hadoop クラスター内のデータが多すぎてマシンが不足している
仕事では、Mahout の Item ベースの CF パッケージに基づいて Item ベースのレコメンデーション システムを構築しようとしています。私たちが扱っている問題は次のとおりです。
ユーザー数: 6,000,000 アイテム数: 200,000 プリファレンス: 10,000,000,000
Hadoop クラスターに数百台のマシンがある場合、数時間以内に RecommenderJob を完了できる可能性があります。ただし、問題は、私たちは小規模なスタートアップであるため、この段階で Hadoop クラスターに約 10 台のマシンしかないことです。理想的には、推奨ジョブを数日に 1 回実行したいと考えています。
問題の規模を理解するために、Mahout の Item ベースの CF をデータの小さなサブセットに適用しました。
ユーザー数: 100,000 アイテム数: 80,000 プリファレンス: 3,000,000
RecommenderJob にかかる時間は、Hadoop クラスターで約 10 分です。
私の質問は、ハードウェアの制限 (短期的に変更される可能性は低い) を考えると、Mahout のアイテムベースの CF を高速化するにはどうすればよいですか?
java - GenericBooleanPrefItemBasedRecommender をインポートできません
サンプルの Mahout コードをコンパイルしようとしています。ただし、GenericBooleanPrefItemBasedRecommender のインポートに問題があります。システムをチェックすると、ライブラリが見つかり、ディレクトリ内の他のライブラリは問題なくインポートされます。誰かが私の間違いを指摘できますか? 以下は私のコードのスニペットと結果の出力です。ありがとう。
[情報] プロジェクトをスキャンしています...
[情報]
[情報] - - - - - - - - - - - - - - - - - - - - - - - - -------------------------
[情報] mahoutrec 1.0 のビルド-SNAPSHOT
[情報] - - - - - - - - - - - - - - - - - - - - - - - - -------------------------
[情報]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ mahoutrec ---
[情報] 'UTF-8' エンコーディングを使用して、フィルター処理されたリソースをコピーしています。
[INFO] 存在しない resourceDirectory をスキップします /Users/name/Downloads/mahout/trunk/mahoutrec/src/main/resources
[情報]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ mahoutrec ---
[情報] 1 つのソース ファイルを /Users/name/Downloads/mahout/trunk/mahoutrec/target/classes にコンパイルしています
[情報] - - - - - - - - - - - - - - - - - - - - - - - - --------------
[エラー] コンパイル エラー:
[情報] - - - - - - - - - - - - - - - - - - - - - - - - --------------
[エラー] /Users/name/Downloads/mahout/trunk/mahoutrec/src/main/java/com/unresyst/UnresystBoolRecommend.java:[45,8]
シンボルを見つけることができません
記号 : 可変レコメンダー
場所: クラス com.unresyst.UnresystBoolRecommend
[エラー] /Users/name/Downloads/mahout/trunk/mahoutrec/src/main/java/com/unresyst/UnresystBoolRecommend.java:[45,26] シンボルが見つかりません
シンボル: クラス GenericBooleanPrefItemBasedRecommender
場所: クラス com.unresyst.UnresystBoolRecommend
[エラー] /Users/name/Downloads/mahout/trunk/mahoutrec/src/main/java/com/unresyst/UnresystBoolRecommend.java:[50,48] シンボルが見つかりません
記号 : 可変レコメンダー
場所: クラス com.unresyst.UnresystBoolRecommend
[情報] 3件のエラー
[情報] - - - - - - - - - - - - - - - - - - - - - - - - --------------
[情報] - - - - - - - - - - - - - - - - - - - - - - - - -------------------------
[情報] ビルドの失敗
[情報] - - - - - - - - - - - - - - - - - - - - - - - - -------------------------
[情報] 合計時間: 3.628 秒
[情報] 終了: 2014 年 1 月 13 日月曜日 15:27:22 EET
[INFO] 最終メモリー: 10M/81M
[情報] - - - - - - - - - - - - - - - - - - - - - - - - -------------------------
[エラー] プロジェクト mahoutrec で目標 org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) を実行できませんでした: コンパイルの失敗: コンパイルの失敗:
[エラー] /Users/name/Downloads/mahout/trunk/mahoutrec/src/main/java/com/unresyst/UnresystBoolRecommend.java:[45,8] シンボルが見つかりません
[エラー] 記号 : 変数レコメンダー
[エラー] 場所: クラス com.unresyst.UnresystBoolRecommend
[エラー] /Users/name/Downloads/mahout/trunk/mahoutrec/src/main/java/com/unresyst/UnresystBoolRecommend.java:[45,26] シンボルが見つかりません
[エラー] シンボル: クラス GenericBooleanPrefItemBasedRecommender
[エラー] 場所: クラス com.unresyst.UnresystBoolRecommend
[エラー] /Users/name/Downloads/mahout/trunk/mahoutrec/src/main/java/com/unresyst/UnresystBoolRecommend.java:[50,48] シンボルが見つかりません
[エラー] 記号 : 変数レコメンダー
[エラー] 場所: クラス com.unresyst.UnresystBoolRecommend
[エラー] -> [ヘルプ 1]
[エラー]
[エラー] エラーの完全なスタック トレースを表示するには、-e スイッチを指定して Maven を再実行します。
[エラー] -X スイッチを使用して Maven を再実行し、完全なデバッグ ログを有効にします。
[エラー]
[エラー] エラーと考えられる解決策の詳細については、次の記事をお読みください。
[エラー] [ヘルプ 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
java - MAHOUT を使用した異なるデータセットでのテストとトレーニング
初歩的な質問で申し訳ありませんが、私は MAHOUT を初めて使用するので、MovieLens データセットでいくつかのテストを行う必要があります。u1base.csv を使用してレコメンダーをトレーニングし、u1test.csv を使用してレコメンダーをテストして精度と再現率を判断できるかどうか知りたいことは何ですか?
評価について見つけた例は、データをスリップさせるだけですが、u1base を使用してトレーニングし、u1test をテストしたいと考えています。
u1base.csv と u1test.csv は、「UserId,Item,Rating」という同じ形式です。
私が持っているJavaコード:
どんな助けでも大歓迎です
mahout - mahout の結果をどのように使用できますか?
基本的な映画レコメンデーション システムを構築したい。検索したところ、apache mahout が見つかりました。いくつかの方法を使用しましたが、それらの結果をどのように使用できるかわかりません。
そしてこのような結果
Şub 03, 2014 2:06:44 PM org.slf4j.impl.JCLLoggerAdapter info INFO: ファイル u1.base の FileDataModel を作成していますŞub 03, 2014 2:06:44 PM org.slf4j.impl.JCLLoggerAdapter info INFO: ファイル情報の読み取り中... Şub 03, 2014 2:06:44 PM org.slf4j.impl.JCLLoggerAdapter 情報情報: 読み取り行: 80000 Şub 03, 2014 2:06:44 PM org.slf4j.impl.JCLLoggerAdapter 情報情報: 943 人のユーザーを処理しましたŞub 03, 2014 2:06:44 PM org.slf4j.impl.JCLLoggerAdapter info 情報: FileDataModel[dataFile:C:\Users\HydrojaN\Documents\NetBeansProjects\JavaApplication1\u1.base] 0.7 を使用して評価を開始します Şub 03, 2014 2:06:44 PM org.slf4j.impl.JCLLoggerAdapter 情報情報: 943 人のユーザーが処理されました Şub 03, 2014 2:06:44 PM org.slf4j.impl.JCLLoggerAdapter 情報 INFO: 941 人のユーザーの評価が開始されました06:44 PM org.slf4j.impl.JCLLoggerAdapter 情報情報:4 スレッドで 941 タスクの開始タイミング Şub 03, 2014 2:06:45 PM org.slf4j.impl.JCLLoggerAdapter info INFO: 推奨ごとの平均時間: 193ms Şub 03, 2014 2:06:45 PM org.slf4j.impl. JCLLoggerAdapter 情報 INFO: 使用メモリ量: 86MB / 276MB
Şub 03, 2014 2:07:49 PM org.slf4j.impl.JCLLoggerAdapter info INFO: Evaluation result: 1.0364950141746245 BUILD SUCCESSFUL (合計時間: 1 分 5 秒)
mahout - Mahout でのアイテムベースのレコメンダーのパフォーマンスの問題
mahout でアイテム ベースのレコメンダーを使用しようとしています。これには、250 万人のユーザーとアイテムのやり取りが含まれていますが、好みの値は含まれていません。約100件のアイテムと10万人のユーザーがいます.推奨するのに約10秒かかります. 一方、ユーザーベースのレコメンダーを使用すると、同じデータの場合、1 秒もかかりません。
SamplingCandidateItemsStrategy に上記のパラメーターを使用することを提案している @Sean の回答の 1 つを読みました。しかし、それが実際に何をしているのかはよくわかりません。
編集: 2.5 M はユーザーとアイテムの関連付けの合計で、10 万人のユーザーがいて、アイテムの総数は 100 です。