Я пытаюсь сравнить два списка, один из ряда известных значений, а другой - серию предсказаний из классификатора, и создать новый двоичный список на предмет того, были ли два элемента «достаточно близки».
Я буду использовать RMSE в качестве меры пригодности, и если разница между прогнозируемым значением и известным значением меньше, чем, скажем, 1, я хотел бы поставить 1 в этом месте нового списка, и еслиошибка больше 1, верните 0 в этот момент в новом списке.
Например:
y_known = {23,45,67,83}
y_pred = {23,46,64,78}
Должен вернуться
binary_array = [1,1,0,0]
Мне нужно это для расчета кривой точности / отзыва моей обученной системы.Я смотрел на использование лямбда-выражений, но, по-видимому, для такого рода проблем это больше хлопот, чем стоит.Любые предложения будут ценны.
ОБНОВЛЕНИЕ
Это работает безупречно и сделало именно то, что мне было нужно.Оригинальный автор отозвал свой комментарий, но большое спасибо!
def createBinaryArray(x, y, k):
assert(len(x) == len(y))
return([1 if abs(a-b)<=k else 0 for a,b in zip(x, y)])