問題タブ [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.
mahout - PlusAnonymousUserDataModel の使用
次のコードの問題点と、匿名ユーザーに推奨事項が生成されない理由を教えてください。
何が問題なのかわかりませんが、PlusAnonymousUserDataModel を使用して匿名ユーザーの推奨事項を取得できません。これはコード例で、匿名ユーザーへの推奨は表示されませんが、モデル内のユーザーにはまったく同様の設定が推奨されます。
このコードによって生成される出力は次のとおりです。 Neighborhood=100
匿名の場合:
user_id=1680604 の推奨事項: RecommendedItem[item:1701, value:24.363672] ... など。したがって、匿名ユーザー向けの推奨事項はありません。:(
推奨事項を取得するには、「本物」(私の場合はファイルベース) ではなく、永続的な DataModel モデルを使用して、類似性、近隣、およびレコメンダーを構築する必要がありますが、代わりに PlusAnonymousUserDataModel plusAnonymousModel を使用する必要があります!
したがって、Mahout に関する基本的なドキュメント ( https://builds.apache.org/job/Mahout-Quality/javadoc/org/apache/mahout/cf/taste/impl/model/PlusAnonymousUserDataModel.html ) の記述は間違っています。ItemSimilarity similarity = new LogLikelihoodSimilarity(realModel); // not plusModel
以前、SO の他の人が同じ問題を抱えていて、ここで何の回答も得られませんでし た。Sean Owen さん、関心をお寄せいただきありがとうございます。私が見つけた解決策が正しいことを承認していただけますか?
java - mahout を使用した NoClassDefFoundError
私は mahout を学び始めていますが、最初のステップでプログラムに奇妙なエラーが発生しました。数行で簡単なレコメンダーを作成しようとしています。
しかし、私はこのエラーが発生します
このコードの問題は何ですか? 本からコピペしました!
しかし、これらすべての jar ファイルを使用すると、次のエラーが発生します。
余分なjarファイルを使用していますか?
preferences - ユーザー設定のマッチングにApacheMahoutTasteを使用できますか?
事前定義されたユーザー設定に基づいてオブジェクトを照合しようとしています。簡単な例は、最も一致する車両を見つけることです。
ユーザー「トム」が、事前定義された設定に基づいて旅行用のレンタカーを提供されたとします。この場合、事前定義されたユーザー設定は次のようになります-
**トムの事前定義されたユーザー設定:
**利用可能な10台の車両は-
私がやりたいのは、トムの好みに最も合う車を選び、おそらく順番に、つまり最初に最もよく合う車を選ぶことです。
私が持っている質問:
- これはMahoutTasteで実行できますか?
- はいの場合、誰かが私がすぐに始めることができるいくつかのサンプルコードを教えてもらえますか?
hadoop - Mahout RecommenderJob が収束しない
これは私の最初の SO 投稿です。何か重要なことを見逃している場合はお知らせください。私は Mahout/Hadoop の初心者で、分散レコメンデーション エンジンをまとめようとしています。
リモート クラスターでの作業をシミュレートするために、私のマシン上に Hadoop がインストールされている Ubuntu VM (VirtualBox を使用) と通信するようにマシン上に Hadoop をセットアップしました。このセットアップはうまく機能しているようで、テストとして (非常に!) 小さなトライアル データセットで Mahout の 'RecommenderJob' を実行しようとしています。
入力は、.csv
次の形式の約 50 のユーザー設定を含むファイル (hadoop dfs に保存) で構成されますuserID, itemID, preference
。実行しているコマンドは次のとおりです。
はTestRatings.csv
設定を含むファイルoutput
で、目的の出力ディレクトリです。
最初は、ジョブは正常に実行されているように見え、次の出力が得られます。
しかし、その後、最後の 3 行が無期限に繰り返され (一晩放置しました...)、次の 2 行が続きます。
12行ごとに繰り返します。
私の入力に何か問題があるのか 、それとも試行データのサイズが小さいために混乱しているのかはわかりません. これについての最善の方法についてのヘルプやアドバイスをいただければ幸いです。
ps https://www.box.com/s/041rdjeh7sny128r2ukiの指示に従おうとしていました
mahout - Mahout で startPhase を使用する方法
Mahout 0.7 から RecommenderJob (org.apache.mahout.cf.taste.hadoop.item.RecommenderJob) ベースのジョブを実行していますが、startPhase や endPhase などのオプションがあることに気付きました。これらは、以前の実行からの必要な入力データがあると仮定して、パイプラインの一部のみを実行すると推測しています。しかし、RecommenderJob にはどのようなフェーズがあるのかを理解するのに苦労しています。ソースコードを読んでいる最中ですが、まだ時間がかかりそうです。それまでの間、RecommenderJob クラスでこれらのオプション (特に startPhase) を使用する方法を誰かが明らかにできるかどうか疑問に思っていますか?
slf4j - Mahout movieLensレコメンダー、出力ファイルはどこにありますか?
コマンドの後にビルドが成功した後、mahoutwikiスタテルにあるmahoutRecommenderを実行しています。
このログファイルが表示され、出力が見つかりませんでした。
[情報] - - - - - - - - - - - - - - - - - - - - - - - - ------------------------- [情報]合計時間:20秒[情報]終了日:2013年1月4日金曜日14:47:33 PST [ INFO]最終メモリ:31M / 697M [INFO] --------------------------------------- ---------------------------------
ログ/出力はどこにありますか?ログを有効にするにはどうすればよいですか?推奨事項はどこにありますか?私は何か間違ったことをしていますか?
mahout - Mahoutで共起行列(のみ)を生成する方法
Mahoutで設定入力ファイル(userID、itemID、およびオプションの評価)を指定して、共起行列のみを生成する方法を見つけることができませんでした。それは可能ですか?私が見つけることができるのは、推奨出力を生成することだけであり、共起行列は削除されているようです。
mahout - Mahout レコメンダー - アイテムベースのレコメンダーにコンテンツベースの類似性を追加
ニュース記事用の非常に標準的な Mahout アイテムベースのレコメンダーがあります (クリック データを使用するため、設定はブール値です)。
私はコンテンツベースの知識をレコメンデーションに注入する実験を行っており、通常の協調フィルタリングの意味で類似しているだけでなく、多くの共通用語を共有しているという意味でも類似している記事を最も強く推奨できるようにしています。
記事コンテンツの類似度 (TF-IDF ベクトルのコサイン類似度) は、Mahout バッチを使用して事前に計算され、DB から読み取られます。ただし、類似性データがない記事のペアが多数存在します。これには 2 つの理由があります。
記事のコンテンツの類似性データは、ユーザー アイテムの好みのデータ モデルよりも頻繁に更新されないため、新しい記事のコンテンツの類似性が計算されるまでに遅延が生じます。
理想的には、すべてのコンテンツの類似性データをメモリにロードしたいので、各記事の上位 20 の類似性のみを保存します。
したがって、特定の記事のペアについては、次のようになります。
- アイテムの類似度 (谷本) 0 <= s1 <= 1
- コンテンツの類似度 (コサイン) 0 <= s2 <=1 (おそらく null)
コンテンツの類似度が null でない場合は、その値を使用してアイテムの類似度に重みを付け、類似したコンテンツの記事を後押ししたいと考えています。
私の質問は次のとおりです。
- これらの対策を組み合わせようとするのは合理的ですか、それとも何かおかしなことをしようとしているのですか?
- これらの 2 つの値を 1 つの類似度スコアに結合するための賢明な式は何ですか?
- これは、カスタムとして実装するのが最適
ItemSimilarity
ですRescorer
か?