0

特定の一意の一連の数値を取り、それらを線形化する数式(または論理/ Javaプログラムメソッド、しかしできれば生の数学)を探しています。

例: 1,2,4,7,10 ==> 0,1,2,3,4.

  • 線形化された順序は、元の値と同じ関連付けを持つ同じ例の数値を使用するように、最小から最大までを表す必要があり{0=1,1=2,2=4,3=7,4=10}, 10,2,7,4,1 ==> 4,1,3,2,0ます。
  • 数値は範囲内の定数から範囲[n,m]になり、c数値があります。
  • nおよびm0 を超える任意の正の数を指定できますが、m>n. とm-n != c

これはJavaで使用され、コンストラクターに関連付けられた一意のIDの文字列を取得し、それらを0、1、2、3、4に並べ替えて、実際にソートせずにベース番号を導出するだけでソート済み配列に割り当てることができますエラー チェックを実行して、要素を 2 回埋めたり、空白を残したりしないようにします。

これは、 size の配列内のこれらの一意の数値の位置に関する「最良の推測」を提供するために使用されていますn。これを行うことで、実際に配列を複数回通過する必要がないため、処理時間がほんのわずかで済む、より堅牢な並べ替えアルゴリズムを実現したいと考えています (最大値と最小値は、配列が最初に入力されたときに決定されます)。

リクエストにより、追加の入出力:

int n=1350,m=1500,c=5;
/**
* Note that the items in output are the results,
*respective to element, of the mathematical 
*function applied against the elements of input.
**/
int[] input = {1350,1500,1365,1450,1490};
...some f(input[x]) happens here...
int[] output= {0   ,4   ,1   ,2   ,3   };

当然のことながら、アイテムがどこにあるかを正確に判断するには、実質的に5つ以上の要素が必要になることを理解していますが、コピーを作成する前に要素がnullかどうかを確認するためのチェックと組み合わせて丸めることは、全体をソートするよりも高速です比較による配列。

4

1 に答える 1

1

優れた線形回帰アルゴリズムを検討します。

これにはいくつかの例へのリンクがあり、すべての重みを 1 に設定するだけです。

Java での加重線形回帰

または、ここにさらにコードがあります

http://introcs.cs.princeton.edu/java/97data/LinearRegression.java.html

独立した値を x として、依存する値を y として差し込むだけで、出来上がりです!

データを線形形式に解釈するのに問題がある場合は、y=mx+b:

http://en.wikipedia.org/wiki/Simple_linear_regression

于 2012-10-31T05:11:34.663 に答える