-1

さまざまな数のメッセージを含むキューがあり、キューを読み取ってメッセージを処理するスクリプトがあります。私の問題は、一部のキューに非常に多くのメッセージがあり、通常よりも多いことです。したがって、処理を改善するために、すべてのカウントが大きいキューを処理したいと思います。キューに線形の違いがある場合 (例: 1000、1200、1300、1800、1900)、完全なキューを処理したいと考えています。カウントが (1000, 1200, 1300, 1800, 1900, 4000, 4500, 4900, 5200) のようであると仮定すると、ここでは 4000+ は非常に大きなキューなので、これらのキューのみを取得します。

標準偏差などの数学計算が役立つことを願っていますが、それに近づく方法がわかりません。

4

2 に答える 2

0

私はそのように始めます:

  • 最初の数字 (この場合は 1000) を取り、配列内のすべての数字をこの数字で割り、すべての数字に従ってその分数を保存します。
  • これらの各分数の「大幅に異なる」(5 または 10 など) と定義した基数を使用して対数を取り、すべての数値に従って保存します。
  • 分数の対数が -1 と 1 の間にあるグループにすべての数値を入れ、すべての数値の配列からそれらの数値を削除します。
  • 残りの数字からやり直して、1 つ (新しいグループに入れる) になるか、数字がなくなるまで続けます。
于 2012-11-29T08:20:47.813 に答える
0
  1. 仕分けからスタート。
  2. 隣接する要素間の差異の統計を収集します。
  3. いくつかの「大きな」ジャンプを選択します

「大きい」の定義は異なる場合があります。それらの数がわかっている場合 (たとえば、グループが 2 つしかない場合)、最大のジャンプの適切な数 (グループの数より 1 少ない) を選択します。または、大きなジャンプの数パーセントを取得するか、平均と変動を分析して、しきい値を選択することもできます。

于 2012-11-29T08:30:34.323 に答える