問題タブ [recommender-systems]
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.
r - Recommenderlab: 複数のユーザーの重複予測の受信
R で Recommenderlab を使用して、新しいユーザーにクラフト ビールの提案を提供するレコメンデーション システムを構築しています。
ただし、モデルを実行すると、トレーニング データセットの大部分でユーザーごとに同じ予測を受け取るか、出力として「character(0)」を受け取ります。各ユーザーに関連付けられていて、重複していない予測を受け取るにはどうすればよいですか?
私が使用しているデータセットはこちらにあります: https://www.kaggle.com/rdoume/beerreviews/version/1
データ フレームを直接マトリックスに変換してから、realRatingMatrix に変換しようとしました。
推奨事項を受け取るには、データ フレームをマトリックスに変換する前に、data.table ライブラリの 'dcast' 関数を使用する必要があります。
また、マトリックスから最初の列を削除して、ユーザー ID を削除しようとしました。
注意すべきことの 1 つは、データがサンプリングされるときに、「レビュー担当者」が空白である行がいくつかある可能性があることですが、評価とビール ID はそこにあります。
上記のコードは次のようになります。
データ フレームをマトリックスに変換してから、最初にテーブルにキャストせずに realRatingMatrix に変換すると、次のようなユーザーの推奨事項が得られます。
最初に 'dcast' 関数を使用してから、データ フレームをマトリックスに変換し、最初の列を削除してから、realRatingMatrix に変換すると、ほぼすべてのユーザーに対して同じ予測が返されます。
どんな助けでも大歓迎です。
python - LightFM python パッケージを使用して、ユーザーからユーザーへの推奨事項を生成するにはどうすればよいですか?
次のコードでデータセットを作成しています:
そして、次の方法で列車モデルを生成します。
次に、cosine_similarity
メソッドを使用sklearn
して類似性を取得します。
しかし、similarities.shape
そのリターンを印刷するとき:
私には5人のユーザーがいて、それは (5,5) でなければならないと思いますが、間違っていますか? このマトリックスのようなもの:
ユーザーとそのスコアをユーザーに推奨するにはどうすればよいですか? ありがとう
私の LightFM バージョンは: 1.15
そして、私はpython 3.6を使用しています