基于百分比和距离创建分数的算法

时间:2016-05-28 23:42:24

标签: php algorithm

我正在尝试根据两个数据计算得分:百分比和距离。这两个都用于排名颜色。

Distance的范围是0到100,可以是小数。实际上,大多数时候它是小数而不是整数。百分比很重要,因为这意味着图像中出现了更多的颜色。

true_color - map_color = distance也可以是0到100,也可以是小数。距离以更复杂的方式计算......基本上每种颜色都有一个真值和一个映射值。映射值是预设颜色,因此简单来说就是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) 。距离是真实颜色与映射颜色的不同程度。

我的问题似乎在于如何对数字进行加权,以便较小距离的较高百分比应该高于具有较大距离的较高百分比。以下是我做过的一些尝试:

这就是我认为应该订购数据的方式,因为它会考虑到距离(准确度)的百分比,而不仅仅是百分比。

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

但是,我会根据我的公式提出这个订单:

import tensorflow as tf

sess = tf.Session()
g = tf.ones([25088])

sess.as_default():
    tf.initialize_all_variables().run()
    results = sess.run(g)

    print results

有关如何解决这个问题的想法吗?

1 个答案:

答案 0 :(得分:2)

我会建议这个公式:

percentage + 2 * (100 - distance)

如果稍后您仍需要调整,则可以使用因子 2 进行一些调整。

另一种策略可能是将平方根应用于距离

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

距离小时,这将使距离的增加效果大于已经很大的时候。但它确实使你的前两种颜色颠倒了。