2

製品データベースに適したソート アルゴリズムを取得しようとしています。ユーザーは、0 から 5 までのスコアを使用して製品に投票できます (2.5 のように 0.5 スコアも可能です)。私のテーブル構造は現在次のようになっています。

[ProductID] [Title] ... [NumberOfVotes] [TotalPoints] [FinalScore]

ユーザーが投票するたびに、(TotalPoints / NumberOfVotes) = FinalScore のような非常に単純な式を使用して最終スコアを計算しています。

次に、FinalScore と NumberOfVotes でテーブルを並べ替えます。

これは機能しますが、5 つ星の投票が 1 つしかない製品は簡単にトップ ランキングに入る可能性があるため、正確には公平ではありません。

私は統計やアルゴリズムを使って公正な製品ランキングを得るのが苦手です。現在使用している方法よりも公平で、比較的実装が簡単な式を探しています。

これはどのように行うことができますか?

4

2 に答える 2

3

私はこれについて、長所と短所を含むさまざまなオプションを説明する素晴らしい投稿を見つけました:平均評価でソートしない方法ですが、正しい解決策はこれです...

「スコア = ベルヌーイ パラメーターのウィルソン スコア信頼区間の下限」

難しそうに見えますが、投稿には疑似コードと明確な説明が含まれています。

于 2010-12-21T14:25:46.533 に答える
1

medianを使用できます。これは、多くの場合、生の平均よりも優れた数値です。さらに、投票数が 5 未満の項目には評価を付けないように検討することもできます。

于 2010-12-21T13:39:08.293 に答える