私は単純なアップ/ダウン投票システムをウェブサイト上に実装しました。私は個々の投票、投票時間、一意のユーザーID(ハッシュされたIP)を追跡します。投票 - 投票数と投票パーセントか?
私の質問は、投票の割合または合計を計算する方法ではありませんが、さらに、投票に基づいて良いスコアを決定するための良いアルゴリズムは何ですか?
純粋な投票率で並べ替えることは容認できないと判断し、単純にアップノートを集計します。
この例を考える:
- 画像A:4 upvotes、1つのdownvotes
- 画像B:5 upvotes、4つのdownvotes
- 画像C:1 upvote、0 downvotes
理想的なシステムは、最初にA、次にBとCを続けます。
純粋なパーセンテージのシナリオでは、 純粋な投票数のシナリオでは、順序はB> A> Cです(間違っています)
私はシステムの信頼に基づいて多少「ハイブリッド」なアルゴリズムを考えていますスコアには、多分の線に沿って何か:
// (if totalvotes > 0, else score = 0)
score = 1 - ((downvotes+1/totalvotes+1) * sqrt(1/totalvotes))
しかし、私は本当に明確に定義されたアルゴリズムは、そこに私は単に知らないことを既に存在している場合、私の前に、コミュニティを依頼することを期待していました私のアルゴリズムを今から日没まで微調整して座る。
私も投票ごとに日付のデータを持っていますが、サイトの内容はあまり時間に敏感ではありませんので、「何が熱い」で並べ替えるのは本当に気にしません。
[可能な重複](http://stackoverflow.com/questions/9169143/finding-most-liked-item-of-a-user-with-rating-values)?少なくとも答えは関連しています。 – Anthales
華麗な質問、私は言う必要があります:) –