問題タブ [ranking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
462 参照

mysql - 低速ランキング クエリを最適化する

永遠にかかるランキングのためにクエリを最適化する必要があります(クエリ自体は機能しますが、それがひどいことはわかっています。かなりの数のレコードで試してみたところ、タイムアウトが発生しました)。

モデルについて簡単に説明します。player、team、player_team の 3 つのテーブルがあります。チームに所属できる選手がいます。当然のことながら、プレーヤーはプレーヤー テーブルに格納され、チームはチームに格納されます。私のアプリでは、各プレイヤーはいつでもチームを切り替えることができ、ログを維持する必要があります。ただし、プレイヤーは一度に 1 つのチームにのみ所属すると見なされます。プレーヤーの現在のチームは、最後に参加したチームです。

選手とチームの構造は関係ないと思います。それぞれに id 列 PK があります。player_team には次のものがあります。

現在、各チームには、参加した各プレイヤーのポイントが割り当てられています。そこで、今、プレイヤー数が最も多い最初の N チームのランキングを取得したいと考えています。

私の最初のアイデアは、最初に player_team から現在のプレーヤーを取得することでした (つまり、各プレーヤーの 1 つのレコード トップです。このレコードはプレーヤーの現在のチームでなければなりません)。簡単な方法を見つけることができませんでした (GROUP BY player_team.player_id HAVING player_team.id = MAX(player_team.id) を試しましたが、うまくいきませんでした。

うまくいかなかった多くのクエリを試しましたが、なんとかこれを機能させることができました。

私が言ったように、それは機能しますが、見た目は非常に悪く、パフォーマンスも悪いので、もっと良い方法があるはずです. これを最適化するためのアイデアはありますか?

ちなみに私はmysqlを使っています。

前もって感謝します

説明を追加します。(申し訳ありませんが、適切にフォーマットする方法がわかりません)

0 投票する
1 に答える
241 参照

algorithm - 信頼指標と関連アルゴリズム

私は、信頼の指標 (関連するアルゴリズムを含む) と、ユーザーの投票、ランキング、および評価システムが悪用を抑えるためにどのように配線できるかについて、さらに学習しようとしています。信頼の指標について説明している抽象的な記事や論文を読んだことがありますが、実際の実装は見たことがありません。私の目標は、ユーザーが他のユーザーや他のユーザーのコンテンツに投票できるシステムを作成し、それらの投票と関連するメタデータを使用して、それらの投票をユーザーのレベルまたは人気に適用できるかどうかを判断することです.

ソーシャル グラフ内である種の信頼システムを使用または見たことがありますか? それはどのように機能し、その長所と短所は何ですか?

0 投票する
4 に答える
765 参照

c# - キーワードの並べ替えアルゴリズム

私は 1000 件以上の調査を行っており、その多くには自由回答が含まれています。

すべての単語を「解析」して、最も使用されている単語 (一般的な単語は無視) のランキングを取得して、傾向を特定できるようにしたいと考えています。

これどうやってするの?使用できるプログラムはありますか?

編集サード パーティのソリューションが利用できない場合は、Microsoft テクノロジのみに議論を続けていただければ幸いです。乾杯。

0 投票する
6 に答える
2352 参照

algorithm - ビュー/コメントに基づいてページの重要度を計算するアルゴリズム

ページのビュー数とコメント数に基づいて、Web サイトのサイトマップ<priority>に適切なフィールドを決定できるアルゴリズムが必要です。

サイトマップに慣れていない方のために説明すると、優先度フィールドは、同じ Web サイトの他のページと比較したページの重要性を示すために使用されます。0 から 1 までの 10 進数でなければなりません。

viewCountアルゴリズムは と の 2 つのパラメータを受け入れcommentCount、優先度の値を返します。例えば:

0 投票する
3 に答える
1151 参照

algorithm - Groovy の単純なランキング アルゴリズム

評価に基づいて食品にランキングを割り当てるための短いグルーヴィーなアルゴリズムがあります。これは、groovy コンソールで実行できます。コードは完全に機能しますが、コードを記述するためのより Groovy または機能的な方法があるかどうか疑問に思っています。可能であればローカル変数previousItemとローカル変数を取り除くといいと思います。rank

提案?

0 投票する
1 に答える
306 参照

format - 候補ごとのランク形式をOpenSTVBLT形式に変換します

最近、アンケートを使用して、さまざまなソフトウェアコンポーネントの重要性に関する一連の意見を収集しました。何らかの形のコンドルセット投票方法が全体的なランクを取得するための最良の方法であると考えて、私はそれを分析するためにOpenSTVを使用することを選択しました。


私のデータは表形式で、スペースで区切られ、多かれ少なかれ次のように見えます。

この形式では、番号はランクを示し、順序は候補を示します。 各「候補」には、1から7までのランク(必須)があります。1は最も重要であることを意味し、7は最も重要でないことを意味します。重複は許可されていません。

このフォーマットは、投票用紙フォーマットを直接表現する、出力を表現する最も自然な方法であると私は思いました。


OpenSTV / BLT形式は、概念的に次のように、同じ情報を表す別の方法を使用します。

実際の数値ファイル形式は、ラベルではなく候補の(1ベースの)インデックスを使用するため、次のようになります。

この形式では、番号は候補を示し、順序はランクを示します。実際の実際のBLT形式には、各投票用紙の終わりを示す先頭の重みと後続のゼロも含まれていますが、これについてはあまり気にしません。


私の質問は、最初の形式から(数値の)2番目の形式に変換する最もエレガントな方法は何ですか?

0 投票する
2 に答える
1636 参照

sql - SQL Server全文検索の列に異なる重みを割り当てるにはどうすればよいですか?

SQL Server 2008 FTSを使用していますが、加重ランキングを検索結果に統合できるようにしたいと考えています。ただし、検索語が見つかる列の重みを変えたいと思います。たとえば、[タイトル]列と[説明]列がある場合、[タイトル]での一致が、[説明]での一致よりも上位にランク付けされるようにします。

これはSQLServer2008で可能ですか?私が見る限り、列の位置ではなく、特定の用語にのみ重みを追加できます。

0 投票する
2 に答える
350 参照

c# - ランク構造を実装する方法

ランクシステムを実装するための最良の方法は何ですか:

これが私が使用するコードです

これがこれを行うための最も効率的な方法だと思いますか?

0 投票する
2 に答える
592 参照

sql - 年間上位 N 人の打者を見つけるにはどうすればよいですか?

MySQL インスタンスでラーマン ベースボール データベースをいじっています。各年の本塁打数 (HR) を上回った選手を見つけたい。バッティング テーブルには、そのスキーマの次の (関連する部分) があります。

毎年、すべてのプレーヤーがエントリを持っています (1871 年にさかのぼると、年間数百から 12,000 の間)。1 年間の上位 N 人の打者を獲得するのは簡単です。

しかし、私は毎年トップ 3 を見つけることに興味があります。私はこのような解決策を見つけ、カテゴリからトップを選択する方法を説明し、それを私の問題に適用しようとしましたが、返されないクエリになってしまいました:

どこで間違ったのですか?

0 投票する
13 に答える
76990 参照

python - Python でリストのランク ベクトルを計算する効率的な方法

rankR の関数と同様に、Python でリストのランク ベクトルを計算する効率的な方法を探しています。要素間に関係がない単純なリストでは、並べ替えられたリストのx番目の要素である場合に限り、リストのランク ベクトルの要素iはxになります。ここまでは簡単です。次のコード スニペットでうまくいきます。ll[i]

ただし、元のリストに同順位 (つまり、同じ値を持つ複数の要素) がある場合、事態は複雑になります。その場合、同じ値を持つすべての要素は同じランクを持つ必要があります。これは、上記の単純な方法を使用して取得されたランクの平均です。したがって、たとえば、私が を持っている[1, 2, 3, 3, 3, 4, 5]場合、単純なランキングでは が得られます[0, 1, 2, 3, 4, 5, 6]が、私が持ちたいのは です[0, 1, 3, 3, 3, 5, 6]。Pythonでこれを行う最も効率的な方法はどれですか?


脚注: NumPy がこれを達成する方法を既に持っているかどうかはわかりません。その場合はお知らせください。ただし、NumPy がなくても機能するツールを開発しているので、とにかく純粋な Python ソリューションに興味があります。