私は現在レコメンダーシステムを学んでおり、協調フィルタリング、ユーザーCF、アイテムCFについて何かを学びました。これらのアルゴリズムを使用して、次のような問題を解決することは明らかです。
私の質問は次のような問題を解決する方法です:1)ユーザーがXXXもYYYを購入しました2)ユーザーがXXXを購入しYYYも購入しましたか?
更新:タイトルを次のように修正しました:「ユーザーはXXXを購入し、 YYYも表示しました」
私は現在レコメンダーシステムを学んでおり、協調フィルタリング、ユーザーCF、アイテムCFについて何かを学びました。これらのアルゴリズムを使用して、次のような問題を解決することは明らかです。
私の質問は次のような問題を解決する方法です:1)ユーザーがXXXもYYYを購入しました2)ユーザーがXXXを購入しYYYも購入しましたか?
更新:タイトルを次のように修正しました:「ユーザーはXXXを購入し、 YYYも表示しました」
これが本当に「推奨」であるかどうかはわかりませんが、Mahoutのドメイン間で推奨にどのようにアプローチするかをお伝えできます。2つDataModel
のを構築します。1つはユーザーアイテムの購入に基づいて構築され、もう1つはユーザーアイテムのビューに基づいて構築されます。UserSimilarity
または実装への入力として購入データを使用しますが、その後、実装へItemSimilarity
の入力としてビューデータをフィードします。そうすれば、あなたはあなたが提案したものにもっと似たものを計算するでしょう。DataModel
Recommender
products と sold_products の 2 つのテーブルがあるとします。商品を販売するたびに、sold_products テーブルに追加されます。2 つのテーブルは product_id によって関連付けられていると言います。order_id は、sold_products で注文をグループ化するために使用されます。
お探しの商品の product_id は 1234 であると仮定します。
SELECT DISTINCT sold_products.order_id FROM sold_products WHERE product_id=1234 LIMIT 25
例: PO1234、PO435、PO3456....
SELECT DISTINCT products.* FROM sold_products LEFT JOIN products on products.product_id=sold_products.product_id WHERE sold_products.order_id IN (PO1234,PO435,PO3456....) AND NOT sold_products.product_id=1234 GROUP BY sold_products.product_id ORDER BY COUNT( 1) 説明
通常、2 つのデータセットが必要です。つまり、取引 ID と製品を最初に、訪問者 ID と製品を 2 番目に表示すると、任意の 2 つの製品が一緒に販売 (または表示) される信頼度 % に到達します。R (統計ソフトウェア) を使用し、「arules」と呼ばれるパッケージをインストールして、これらの推奨事項を簡単に生成できます。
これは、R で確認したいサンプル コードです。
setwd(“C:/Documents and Settings/rp/Desktop/output”); install.packages(“ルール”); ライブラリ(「アルル」); txn = read.transactions(file=”Transactions_sample.csv”, rm.duplicates= FALSE, format=”single”,sep=”,”,cols =c(1,2)); バスケットルール <- apriori(txn,parameter = list(sup = 0.5, conf = 0.9,target="rules")); インスペクト (basket_rules);
それがどのように機能するかを本当に理解したい場合は、http: //www.tatvic.com/resources にある製品購入パターン分析と名付けられたホワイト ペーパーをチェックしてみてください。 .
さらに、既製の API を使用する場合は、http://www.liftsuggest.com/how-lift-product-recommendation-worksで入手できます。
OReilly の 'Programming Collective Intelligence' book の第 2 章を参照する必要があります。一致する製品、つまり「このアイテムを購入した顧客は次の製品も購入しています...」セクションを作成するには、次のことを行う必要があります。
上記の手順に関連するアルゴリズムがあります。詳細については、これらのアルゴリズムの python コードとともにその本に記載されています。