我正在尝试根据两个数据计算得分:百分比和距离。这两个都用于排名颜色。
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
有关如何解决这个问题的想法吗?
答案 0 :(得分:2)
我会建议这个公式:
percentage + 2 * (100 - distance)
如果稍后您仍需要调整,则可以使用因子 2 进行一些调整。
另一种策略可能是将平方根应用于距离:
percentage + 20 * (10 - sqrt(distance))
当距离小时,这将使距离的增加效果大于已经很大的时候。但它确实使你的前两种颜色颠倒了。