4

私は最近、 http: //500px.comが「パルス」評価をどのように計算するのか疑問に思いました。「Pulse」は、写真の人気に基づいた1..100からのスコアです。

次の基準のいくつかを使用する可能性があると思います。

  • いいねの数
  • 「お気に入り」の数
  • コメント数
  • 総視聴回数
  • 写真がアップロードされてからの時間かもしれません
  • おそらく、ユーザーのフォロワー数、ユーザーランク、カメラモデルなど、他のいくつかの非自明な基準

このようなある種のアルゴリズムをどのように実現しますか?

この基準(およびおそらくいくつかのコード)を使用してアルゴリズムを実装する方法についてのアドバイスもいただければ幸いです。

4

3 に答える 3

9

私はこのサイトについてあまり知りませんが、このようなシステムは一般的に同じように機能します。重み付けされた値のセットを正規化して、単一の比較可能な値を生成します。

ルールのリストを定義し、重要度に基づいてそれらに重みを付けてから、それらをすべて一緒に実行して、最終的な値を取得します。

この場合、次のようになります。

  1. 総訪問数=10%
  2. いいねの総数=10%
  3. ビスト数/いいね数=40%(人気=それを気に入った訪問者の割合)
  4. 過去30日間のいいね数=20%(現在の人気)
  5. 著者の評価=20%

次に、これらのルールの値を正規化する必要があります。データが何であるか、数値のスケールなどに応じて、これはルールごとに異なるため、実行可能な値、たとえば1から100の間が必要です。

上記の正規化の例:

  1. = 50,000ビストのうちのビスタのパーセンテージ(ビストの適切な数)

    (vists / 50000 ) * 100

  2. = 10,000件のいいねのうちのいいねの割合(いいねの数)

    (likes / 10000) * 100

  3. =それを気に入った訪問者の割合

    (likes / vists) * 100

  4. = 1,000件のいいねのうち過去30日間のいいねの割合(30日間のいいねの数)

    (likesIn30Days / 1000) * 100

  5. =作者の恣意的な評価

これらすべての最大値が100であることを確認してください(それ以上の場合は、元に戻します)。次に、重みに応じてこれらすべてを組み合わせる必要があります。

人気=(1 * 0.1) + (2 * 0.1) + (3 * 0.4) + (4 * 0.2) + (5 * 0.2)

これはすべて私の頭のてっぺんから外れていてラフです。すべての段階でパーセンテージに正規化する必要がないため、これには明らかにはるかに効率的な方法がありますが、要点を理解するのに役立つことを願っています。

アップデート

私は実際に参照や余分な読書を持っていません。私は、小さな実装でのみ、より大きな概念としてそれを実際に使用したことはありません。

あなたが読んだもののほとんどは、一般的な方法論的なランキングシステムと理論になると思います。ルールとデータ形式に応じて、実装は大きく異なります。実際には、データの集計を数えずに、コードが約10行になるとしたら、これは非常に大きな概念のようです。

于 2012-04-12T11:24:47.893 に答える
0

500pxは、彼らの(その間に時代遅れの)パルスランキングアルゴリズムをブログである程度説明しています: https ://500px.com/blog/52/how-rating-works-and-why-there-sa-lot-more-to -a-rating-than-just-a-number

非常に興味深く、SOに関するここでのソリューションがこれまでに提案したものとは異なります。

于 2014-12-13T20:44:35.947 に答える