Spark に実装されている Collaborative Filtering アルゴリズムを試していますが、次の問題が発生しています。
次のデータを使用してモデルをトレーニングするとします。
u1|p1|3
u1|p2|3
u2|p1|2
u2|p2|3
次のデータでテストすると、次のようになります。
u1|p1|1
u3|p1|2
u3|p2|3
ユーザー 'u3' の評価は表示されません。おそらく、そのユーザーがトレーニング データに表示されないためです。これはコールドスタートの問題によるものですか?この問題は新しい製品にのみ適用されるという印象を受けました。この場合、トレーニング データの 'u1' と 'u2' は 'u3' と同様の評価情報を持っているため、'u3' の予測が期待できます。これは、モデルベースとメモリベースの協調フィルタリングの違いですか?