現在、last-fm データセットのサブセットからすべてのノイズを除外しており、このサブセットの上に推奨システムを構築しようとしています。
基本的に、私のデータセットにはデータベースに次のものが含まれています。
ユーザー ID | アーティスト ID | アーティスト | トータルプレイズ
例:
00000c289a1829a808ac09c00daf10bc3c4e223b 8bfac288-ccc5-448d-9573-c33ea2aa5c30 赤唐辛子
私が達成したいのは、すべてのユーザーのリストと、特定のアーティストを聴いた合計再生数です。たとえば、レッド ホット チリ ペッパーの整数 (totalplays) を含むリストです。これに関する問題は、次のクエリを実行するときです。
SELECT userid, totalplays FROM dataset WHERE artist = 'red hot chili peppers'
レッド ホット チリ ペッパーズを少なくとも 1 回聴いたユーザーのみを取得します (データセットには、アーティストを聴いたことがないユーザーのエントリは含まれません)。
レコメンデーション システムを構築できるように、これらの結果セットの 2 つをピアソンの相関と一致させるために、これらの整数も含めたいと思います。(私はすでにこれを実装しています)。
すべての個別のユーザー ID を含む一時テーブルを作成してから、データセットの内部結合で再生量を更新しようとしました。残念ながら、それには時間がかかりすぎます。
SQLの可能性については聞いたことがありIF EXISTS
ますが、詳しくは知りません。誰でも私を正しい方向に向けることができますか?
繰り返しますが、たとえば、'red hot chili peppers' というアーティストのユーザーの totalplays を取得したいと思います (合計を計算する必要はありません。これは既に行っているためです!)。ユーザーがそれらを聞いているデータセットにレコードがない場合でも (したがって、このユーザーには 0 が返されます)。
前もって感謝します!