2017-08-02 9 views
0

背景:別の日に追加された商品のコレクションであるウェブサイトです。ユーザーは商品を好き/投票することができます。開始後も項目を追加してPOLLシステムの精度を上げる方法POLL?

私が実装している機能:ユーザーがlike/voteで商品を注文できるという機能があります。

製品A:50個のお気に入りがあり、 の直前にシステムに追加されます。

製品B:それは40のお気に入りがあり、それは の20日の直前にシステムに追加されます。

私はちょうど '好き'商品Aは1になります。しかし、商品Bは商品40よりも優れていると簡単に言うことができるので、商品Bが最初に必要です20日間。

私の解決策:私は1日当たりの平均で製品を注文しました。私の解決策で

問題:私は数千の製品をテストするとき、私はそれが古い製品のため不公平であることを理解しています。昔は交通量が非常に少ないなどの理由があります。

「お気に入りの注文」機能の精度を高めるために追加できるものは何ですか?

+2

「精度」の意味を定義することから始めます。 –

+0

@ScottHunter私はすべての製品のための公正のような何かを意味する。 100%公正ではありません...しかし、少なくともある程度までは。たとえば、1日当たり平均的な好き嫌いがある場合、非常に古い製品では不公平です。いくつかの理由があります。昔はトラフィックがほとんどありません。 –

+2

これは簡単には答えられません。正直なところ、あなたのシステムに適用したい数学についてのすべてです。あなたが望むものをもたらす「正しい式」はありません。アルゴリズムを開発するのはあなた次第です。そのようなGoogle。彼らはまた、検索結果のランク付けのための複雑なアルゴリズムを開発しなければならなかった。彼らは単純に+ペーストをコピーすることはできませんでした。あなたのために同じ。あなたが「公平」を定義し、あなたの定義に沿ってアルゴリズムを開発するのはあなた次第です。 – Twinfriends

答えて

2

時間の対数増加が効率的な解決策になると思います。

平均はlikes/log(days)と計算できます。

対数の基数を変更して数式を微調整することができます。あなたは、ベースを増加させることによって

製品A = 50 /ログ(40)= 0.336

製品B = 40 /ログ(20)= 0.969

ベース10と、例えば、あなたが持っているであろう数式の中で好きなものを増やしてください。ベースを減らすと、式の時間の重要性が増し、必要に応じて調整することができます。

編集:対数を使用する背後にあるアイデアは、引数が大きくなるほど遅く、遅くなる数学的関数であるということです。したがって、log(10)とlog(20)の差はlog(100)とlog(110)の差よりもはるかに大きくなりますが、10-20と100-110の差は同じです。

関連する問題