問題タブ [mahout]
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.
hadoop - mahout の開発を開始する方法
(http://girlincomputerscience.blogspot.com/2010/11/apache-mahout.html) から mahout をインストールした後。 mahout algo を実行する方法と、mahout 初心者向けの簡単なチュートリアルとして最も人気のある場所から....
前もって感謝します。
vector - SequenceFileの生成
次の形式(tag_uri image_uri image_uri image_uri ...)のデータが与えられた場合、Mahoutによるさらなる処理(クラスタリングなど)のために、それらをHadoopSequenceFile形式に変換する必要があります。
この前に、次のように入力をcsv(またはarff)に変換します
各行で1つのタグを説明します。次に、arffファイルは、mahoutがさらに処理するために使用するベクターファイルに変換されます。arff生成部分をスキップして、代わりにsequenceFileを生成しようとしています。私が間違っていない場合、データをsequenceFileとして表すには、データの各行をキーとして$ tag_uriを使用し、次に値として$image_vectorを使用して保存する必要があります。これを行う適切な方法は何ですか(可能であれば、各行のtag_urlをシーケンスファイルのどこかに含めることができますか)?
私が見つけたいくつかの参考文献ですが、それらが関連しているかどうかはわかりません:
- SequenceFileの作成
- svd行列因数分解のための入力行列のフォーマット(行列をこの形式で保存できますか?)
- RandomAccessSparseVector(1行のすべての画像ではなく、特定のタグが割り当てられた画像のみを一覧表示することを考えると、このベクトルを使用してそれを表すことは可能ですか?)
- SequenceFile書き込み
- SequenceFileの説明
distance - Mahout Log Likelihood 類似度メトリックの動作
私が解決しようとしている問題は、データの適切な類似性メトリック、rescorer ヒューリスティック、およびフィルタリング レベルを見つけることです。(私は「ろ過レベル」を使用して、ユーザーまたはアイテムが実稼働データベースに登録するために関連付ける必要がある評価の量を意味します)。
セットアップ
mahout のテイスト協調フィルタリング フレームワークを使用しています。私のデータは、項目の評価がセット {1,2,3,4,5} に含まれるトリプレットの形式になっています。logLikelihood 類似度メトリックの上に itemBased レコメンダーを使用しています。実稼働データセットから 20 項目未満を評価するユーザーを除外します。RMSE は良さそう (1.17 っぽい) で、データ キャッピングは行われていませんが、望ましくない、エラーのような奇妙な動作があります。
質問
最初の呼び出し-- ユーザーからの情報なしで「トップ アイテム」リストを生成します。これを行うために、私はCentered Sumと呼んでいるものを使用します:
平均評価の代わりに中心合計を使用してトップ アイテム リストを生成します。主な理由は、アイテムが受け取った評価の数をランキングに考慮したいからです。
2 回目の呼び出し-- 最初の呼び出しで返された上位アイテムのそれぞれに類似した 9 個のアイテムを要求します。私が同様のアイテムを求めた各トップアイテムについて、返された類似アイテムの9つのうち7つは同じです(他のトップアイテムに対して返された類似アイテムセットと同じです)!
再スコアリングを試す時が来ましたか? たぶん、2 つのゲームの類似性に (共同レーティングされたアイテムの数)/x を掛けます。ここで、x は調整されています (約 50 か何かから)。
よろしくお願いします
r - SimpleDBまたはBigQueryでRを使用するか、SimpleDBでPHPを使用することをお勧めします
私は現在、Amazonのような製品の推奨事項を生成するシステムに取り組んでいます:「これを購入した人はこれも購入しました。」
現在のシナリオ:
クライアントのGoogleAnalyticsデータを抽出し、データベースに挿入します。
クライアントのWebサイトでは、製品ページのロード時にAPI呼び出しが行われ、表示されている製品の推奨事項を取得します。
APIはリクエストとして製品IDを受信すると、データベースを検索し、(アソシエーションルールを使用して)推奨される製品IDを取得し、それらを応答として送信します。
これらの製品IDのリストは、クライアント側で製品の詳細(画像、価格など)を取得するために処理され、Webサイトに表示されます。
現在、AmazonEC2でgapiパッケージとRESTapiストレージを備えたPHPとMYSQLを使用しています。
私の質問は次のとおりです。 さて、次の中から選択する必要がある場合は、上記の概念を実装するための最良の選択になります。
SimpleDBまたはBIGQueryを使用したPHP。
BIGQueryを使用したR言語。
RHIPE-(Rおよびhadoop)とSimpleDB。
ApacheMahout。
助けてください!
mahout - Mahoutリスコアラーの実装
2つのアイテム間のすべてのPearsonItemSimilarity値を、それらが共有するコアリングの数を50で割った値で重み付けしたいと思います。
または、言い換えると、2つのアイテム(たとえば、アイテムaとb)間の一般的なピアソンの類似性を適宜更新します-similarity_new_ab =imilarity_ab * numCoRatings_ab / 50
既存のmahoutフレームワークを使用して、2つのゲーム間の相関の数を取得するにはどうすればよいですか。
誰かが私をリスコアラーの実装例にリンク(または説明)してくれませんか?
これを行う理由は次のとおりです。
計算されたピアソンの類似性のほとんどは、少数(ほとんどの場合1または2)のコーリングに基づいていると思います。これにより、ゲームは互いに1のピアソン相関を共有することになりますが、実際には、より多くの相関が存在する場合はそうではないでしょう。
これを説明するために、これらの「ナイーブな」ピアソンの類似性を、これも共同評価の数に基づく類似性に変更したいと思います。
これがリスコアラーの目的だと思いましたが、間違っていたと思います。
hadoop - mahout-in-action の例を実行するには、hadoop が必要ですか?
Mahout In Action の例を実行するには、hadoop が必要ですか? mahout には Hadoop jar が用意されていることがわかりました。build-reuters.sh に問題があり、別の Hadoop インストールが必要かどうか疑問に思っていました。ありがとう!!
clojure - Clojure を使用した Mahout によるクラスタリング (fkmeans)
Clojure を介してデータをクラスター化するための短いスクリプトを作成しようとしています (ただし、Mahout クラスを呼び出します)。この形式の入力データがあります(これはphpスクリプトからの出力です)
次に、このスクリプト (clojure) を使用して SequenceFile に書き込みます。
基本的に、入力をこの形式のシーケンスファイルに変換します
キー (テキスト): $tag_uri 値 (VectorWritable): 数値インデックスとそれぞれの頻度を含むベクトル (カーディナリティ = ドキュメント数)<0:1 1:0 2:0 3:1 4:0 ...>
次に、このスクリプトを使用して実際のクラスターを作成します (このブログ投稿を参照) 。
しかし、私はこのような出力を得ています
runSequential が true に設定されている場合
fkmeans スクリプトもこの形式に書き直しました。
しかし、まだ最初の初期バージョンと同じエラーが発生しています:/
コマンド ライン ツールは正常に動作します
ただし、前のコマンドに --clustering オプションが存在し、ここで --pointsDir が定義されていても、clusterdumper を実行するとポイントが返されません。
使用した Mahout のバージョン: 0.6-snapshot、clojure 1.3.0-snapshot
何か見逃したら教えてください
java - Mahout : カスタム入力ファイルを読み取るには
私は Mahout で遊んでいて、FileDataModel が次の形式のデータを受け入れることがわかりました。
形式のデータがいくつかあります
Mahout でこのデータセットを操作するための最良/最も簡単な方法は何ですか?
java - Mahout Recommender が正しく機能しない
私はMahoutに取り組んでおり、csv を変更しようとしたときに問題が見つかりました。以前は、適切な推奨事項が表示されていました。
コード例:
csv の値を更新したところ、提案が表示されなくなりました。
結果が得られないCSV:
私に結果を与えているCSV:
コンソールにそれぞれ出力:
最初のデータセットの結果 2011 年 8 月 27 日 2:45:06 AM org.slf4j.impl.JCLLoggerAdapter 情報情報: ファイル WriteTest.csv の FileDataModel を作成しています 2011 年 8 月 27 日 2:45:06 AM org.slf4j.impl.JCLLoggerAdapter 情報情報: ファイル情報を読み取っています... 2011 年 8 月 27 日 2:45:06 AM org.slf4j.impl.JCLLoggerAdapter 情報情報: Readlines: 11 Aug 27, 2011 2:45:06 AM org.slf4j.impl.JCLLoggerAdapter 情報情報: 4 人のユーザーを処理しました
アイテム番号167を期待していましたが、推奨事項が見つかりません
2 番目のデータセットの出力: