ユーザーの評価に基づいていくつかの製品を並べ替える必要があります。
3 つの製品 { a、b、c } があり、この製品に関するユーザーのフィードバックがあるとします。どのユーザーがフィードバックを提供するかは重要ではありません (この質問は、相関フィルタリングに精通している場合、相関フィルタリングに関するものではありません。ユーザーの関心はここでは当てはまりません)。
以下の各行は、ユーザーが 3 つの製品を比較しようとしたときのフィードバックです。
a 150 ポイント- b 0 ポイント(このユーザーは、2 つの製品 a と b についてどう思うかを教えてくれました。a と b を比較して、150 ポイントを与えると b は 0 ポイントになると考えました)
a 150 ポイント- c 20 ポイント
c 200 ポイント- a 10 ポイント(前のものにもかかわらず、このユーザーは c が a よりも優れていると考えています)
a 200 ポイント- b 40 ポイント- c 100 ポイント
a 150 ポイント- b 50 ポイント
a 150 ポイント- b 20 ポイント
(これらの評価は単なるサンプルであり、実際の製品数と評価はこれよりもはるかに大きくなっています)
ここで、ユーザーの投票に基づいて製品のランキングを見つけるアルゴリズムが必要です。私の見解では、この問題を相関グラフで説明し、すべての製品を相互に接続するのが最善の方法です。
あらゆる種類のヘルプやヒントをいただければ幸いです。
/**************************************************** ********************************/
ポイントを加算して製品のポイントの平均を計算することはできません。ポイントをどのように取得したかが重要だからです。aがbに対して 800 点を獲得し、cがaに対して 10 点を獲得したとします。
a 200 - b 0
a 200 - b 0
a 200 - b 0
a 200 - b 0
c 10 - a 0 (これは、c が a より優れていることを意味します)
したがって、間違いなくaはbよりも優れていますが、10 点が少ないため、 cは a よりも優れたランクを獲得しました。
/**************************************************** ********************************/