Я не могу помочь вам с предоставлением существующей реализации, но, возможно, вам этого достаточно.
Вы можете просто сопоставить [-1, 1]
с диапазоном [0, 1]
без каких-либо усилий.
Код может выглядеть так:
def map_to_0_1(score):
return (1+score) / 2
foo_scores = [-1, -0.5, 0, 0.5, 1]
print('original range scores: ', foo_scores)
print('scores mapped to new range:', list(map(map_to_0_1, foo_scores)))
Выход:
original range scores: [-1, -0.5, 0, 0.5, 1]
scores mapped to new range: [0.0, 0.25, 0.5, 0.75, 1.0]
Это просто линейное отображение, которое сокращает входные данные пропорционально [0, 1]
диапазону, конечно, вы также можете использовать различные нелинейные отображения.
Надеюсь, это поможет.