問題タブ [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.

0 投票する
1 に答える
404 参照

mahout - Mahout - アイテムの類似性、ただしユーザーがすでに「購入」したアイテムは除外

類似性を介して推奨するビデオ推奨機能を作成したいと考えています。課題は、ユーザーが既に見たビデオを除外したいということです。これは私にはかなり明白なケースのように思えますが、カバーされていません。

どんなヒントでも大歓迎です!

0 投票する
1 に答える
298 参照

mahout - 新しいデータセットの Mahout を拡張する

Mahout に基づいたレコメンデーション モデルを構築したいと考えています。私のデータセット形式には、userID、itemID、評価、およびタイムスタンプ以外の余分な列があります。したがって、FileDataModel を拡張する必要があると思います。

例としてJesterDataModelを調べました。ただし、ロジックフローに問題があります。そのbuildModel()メソッドでは、空のマップ「データ」が最初に構築されます。その後、processFile にスローされます。後で GenericDataModel を構築するために使用されるため、このメソッドで "data" が変更されると仮定します。ただし、data はクラス変数ではなくローカル変数なので、どのように変更されるのでしょうか

0 投票する
2 に答える
557 参照

hadoop - 重複するユーザー、アイテムのエントリを持つ Mahout データモデルですが、設定値は異なります

分散 mahout レコメンダー ジョブorg.apache.mahout.cf.taste.hadoop.item.RecommenderJobが csv ファイルをどのように処理したか疑問に思っていました。重複および 3 重の user,item エントリが存在するが、設定値が異なります。たとえば、次のようなエントリを持つ .csv ファイルがあるとします。

1,1,0.7
1,2,0.7
1,2,0.3
1,3,0.7
1,3,-0.7

Mahout のデータモデルはこれをどのように処理しますか? 特定のユーザー、アイテム エントリのプリファレンス値を合計しますか (たとえば、ユーザー アイテム 1,2 のプリファレンスは (0.7 + 0.3) になります)、または値を平均しますか (たとえば、ユーザー アイテム 1,2 のプリファレンスは(0.7 + 0.3)/2) または、検出された最後の user,item エントリがデフォルトになります (たとえば、user 1,2 の場合、優先値は 0.3 に設定されます)。

複数のプリファレンス メトリック (アイテム ビュー、いいね、嫌い、ショッピング カートへの保存など) に基づいたレコメンデーションを検討しているため、この質問をします。データモデルが好みの値を線形の重みとして扱うと便利です (たとえば、アイテム ビューとウィッシュ リストに保存すると、アイテム ビューよりも好みのスコアが高くなります)。データモデルがすでに合計によってこれを処理している場合、複数のメトリックに基づいて合計スコアを並べ替えて計算するための追加の map-reduce の雑用を省くことができます。この点で mahout .csv データモデルの動作について誰かが提供できる説明をいただければ幸いorg.apache.mahout.cf.taste.hadoop.item.RecommenderJobです。ありがとう。

0 投票する
1 に答える
239 参照

java - mahout はリアルタイムで機能しますか、それともアルゴリズムのルールに基づいてデータを前処理しますか?

私は推奨エンジンを構築しようとしています。そのため、apache mahout を使用することを考えていますが、mahout がデータをリアルタイムで処理するのか、サーバーがアイドル状態のときにデータを前処理して結果を保存するのかを判断できません。データベースのどこかに。

また、Amazonやnetflixのようなサイトがどのようなアプローチを取っているか、誰か知っていますか?

0 投票する
1 に答える
172 参照

mahout - Myrrix の複数のモデル

次のような CSV ファイルがあります。

ここで、typeA、typeB、typeC は 3 つの異なるタイプのエンティティです。タイプ B と C を 2 つの異なるタイプのアイテムと見なし、タイプ A をユーザーと見なします。

この CSV ファイルを Myrrix にフィードすることで、モデルを構築できます。このファイルには、B (以前の CSV ファイルの「B」項目はユーザーとしてここに含まれています) と D の 2 つのタイプしかありません。次に、次のような別の CSV ファイルがあるとします。

ここでは、typeB に対して typeD のレコメンデーションを取得したいと考えています。これには別の Myrrix インスタンスが必要ですか? 2 つのモデルを用意して、どちらを推奨するかを選択することはできますか? Apache Mahout でこれを行うのは簡単だと思いますが、Myrrix のようにリアルタイムの setPreference とモデルの更新の喜びを得ることができないのではないでしょうか?

これを解決するためのアイデアをいただければ幸いです。

0 投票する
2 に答える
1820 参照

mahout - Implementing offline Item based recommendation using Mahout

I am trying to add recommendations to our e-commerce website using Mahout. I have decided to use Item Based recommender, i have around 60K products, 200K users and 4M user-product preferences. I am looking for a way to provide recommendation by calculating the item similarities offline, so that the recommender.recommend() method would provide results in under 100 milli seconds.

DataModel dataModel = new FileDataModel("/FilePath");

_itemSimilarity = new TanimotoCoefficientSimilarity(dataModel);

_recommender = new CachingRecommender(new GenericBooleanPrefItemBasedRecommender(dataModel,_itemSimilarity));

I was hoping if someone could point out to a method or a blog to help me understand the procedure and challenges with an offline computation of the item similarities. Also what is the recommended procedure was storing the pre-computed results from item similarities, should they be stored in a separate db, or a memcache?

PS - I plan to refresh the user-product preference data in 10-12 hours.

0 投票する
0 に答える
436 参照

mahout - Mahout の評価 - x ケースでは推奨できません

おそらくまばらなデータ セットでレコメンダー アルゴリズムを評価しようとしていますが、約 20,000 人のユーザーに対して 341 アイテムしかありません。すべての類似性アルゴリズムを評価したいだけです。私はほとんどすべてのユーザーベースの推奨事項を試しましたが、それらのすべてについて、評価者 (AverageAbsoluteDifferenceRecommenderEvaluatorまたはルート平均二乗スコアリング評価者) に関係なく、評価者からこの情報を取得しています。これはxXXX ケースでは推奨できません。ただし、最終出力にはまだいくつかの結果があります。私の評価者の出力は次のとおりです。

なぜ何度も表示されるのか、数字がわかりません。これは、すべてのデータの 20% を超える xxx ケースでは推奨できませんか? あるユーザーには 3 件、別のユーザーには 9892 件の推奨できないということですか?