すべてのユーザーが閲覧した製品のデータベースがあり、同様のユーザーが閲覧したものに基づいて製品を推奨したいと考えています。これを実現できる Python ライブラリはありますか? Netflix の品質の結果は必要ありません。関心がある可能性が高い製品だけが必要です。何か案は?
3 に答える
pysuggestをチェックアウトできます。
サイトから:
SUGGEST は、さまざまなレコメンデーション アルゴリズムを実装するトップ N レコメンデーション エンジンです。パーソナライズされた情報フィルタリング技術であるトップ N レコメンダー システムを使用して、特定のユーザーが関心を持つ N 個のアイテムのセットを識別します。近年、トップ N レコメンダー システムは、顧客が購入する可能性が最も高い製品を推奨するなど、さまざまなアプリケーションで使用されています。ユーザーが楽しめる映画、テレビ番組、または音楽を推奨する。関心のある Web ページを特定します。または、情報を検索する別の方法を提案することさえできます。
k最近傍法は、おそらくリアルタイムWebベースのレコメンダーシステムで最も一般的に実装されているアルゴリズムです。
NumPy / SciPyには、いくつかの選択肢があります[注: sklearnライブラリの更新を反映するために12月12日に回答が更新されました]:
scikit-learn(別名sklearn)の最近傍モジュール。これは、ネイバーの重み付けと投票、および非常に効率的なストレージ/取得コンポーネント(ボールツリー)を含む高度なkNN実装です。
scipy.spatial。私はこれをいくつかのプロジェクトに使用しましたが、sklearnが利用可能になったことを考えると、次のプロジェクトに使用する可能性は低いです。これは、kNNのより最新の実装です。それでも、空間モジュールにはkd-treeクラスがあります(このモジュールでは、標準のnumpy配列ではなくkd-treeを使用してデータを格納します。これは、 Voronoiテッセレーションに沿って、非常に大きなデータセットを格納するための最も一般的な特殊なデータ構造です。 kNNの場合); さらに、いくつかの距離メトリック(ユークリッド距離を除く)のメソッドがあります。
レコメンダー システムを実装する別の Python ライブラリを次に示します。
使い方はとっても簡単!ここでいくつかの例を参照してください:
クイックスタート¶