2016-05-28 4 views
0

私はパーセントと距離の2つのデータに基づいてスコアを計算しようとしています。これらの両方は、色のランク付けに使用されます。パーセントと距離に基づいてスコアを作成するためのアルゴリズム

Percentageは、0〜100の範囲で指定でき、10進数にすることができます。実際、ほとんどの場合、それは10進数であり、整数ではありません。パーセンテージは重要です。なぜなら、画像内に色がより多く存在することを意味するからです。

Distanceも可能です。また、10進数でもかまいません。距離はより複雑な方法で計算されます。本質的に各色は真の値とマップされた値を持ちます。マップされた値はあらかじめ設定された色ですので、簡単に言えばtrue_color - map_color = distanceです。距離は、実際の色がマッピングされた色とどのように異なるかです。

私の問題は、小さな距離で高い割合が高い距離よりも高い割合より高くなるように数値に重みを付ける方法にあるようです。ここに私が作ったいくつかの試みがあります:

これはデータの順序を決めなければならないと思います。

t = 100 // max distance possible 

4 percent * (t/0.02 distance) = 20,000 
7 percent * (t/0.5 distance) = 1400 
2 percent * (t/1 distance) = 200 
10 percent * (t/8 distance) = 125 
10 percent * (t/50 distance) = 20 

この問題を解決する方法上の任意のアイデアを:

7 percent, 0.5 distance = 140 (1st) 
4 percent, 0.02 distance = 200 (2nd) 
2 percent, 1 distance = 200 (3rd) 
10 percent, 8 distance = 125 (4th) 
10 percent, 50 distance = 125 (5th) 

はしかし、私は私の式に基づいて、この順序を考え出す続けますか?

+0

これは適切でしょうか? 'pct + 2(100-dst)':最も高い値が最初に来ます。 – trincot

+0

@trincot私は実際にそれが動作すると思う。私は数学と正しい順序を正しくしました。 'パーセンテージ+ 2 *(100 - 距離)'。それを答えとして置くと、私はあなたに信用を与えることができます。ありがとう! – stwhite

答えて

2

私はこの式を示唆している:

percentage + 2 * (100 - distance) 

後でそれでも調整が必要な場合は、あなたが要因でビットを再生することができます。

別の戦術は、距離に平方根を適用するには次のようになります。これは、距離が小さい場合には、より効果を持つ距離の増加を行います

percentage + 20 * (10 - sqrt(distance)) 

、よりそれがすでに大きい場合。しかし、それはあなたの最初の2つの色を逆順に入れます。

+0

平方根オプションの逆数はどのくらいでしょうか?結果セットに3つのオプションをすべて試してみて、どのように注文するかを見ることができます(最初のもので十分です)。それはもっと好奇心のものです...助けてくれてありがとう! – stwhite

+1

@stwhite:平方根の「逆数」は正方形です。それはおそらくあなたが望むものではありません。 –

+0

@JimMischel私はこれが逆であると思う=> "距離が小さいときにはより効果がある"。それで、距離が大きいときよりも小さいときは、距離があまり効果がありません。それがあなたが言っていることと同じであれば、我々はそれを忘れることができます、笑。 – stwhite

関連する問題