В одном материале я нашел одну формулу для расчета точности, как показано ниже
Здесь a и b - набор значений.После многих поисков в интернете я обнаружил, что модуль означает остаток или абсолютное значение.Здесь я принимаю модуль в качестве абсолютного значения, и мой код Python для приведенной выше формулы выглядит следующим образом:
import numpy as np
def intersection(lst1, lst2):
return list(set(lst1) & set(lst2))
a = [7,21]
b = [11, 7, 27, 21]
a_intersect_b=intersection(a,b)
print(" a_intersect_b : ",a_intersect_b)
mod_a_intersect_b=[abs(x) for x in a_intersect_b]
print("|a_intersect_b| : ",mod_a_intersect_b)
mod_a=[abs(x) for x in a]
print("|a| : ",mod_a)
numerator=np.array(mod_a_intersect_b, dtype=np.float)
denominator=np.array(mod_a, dtype=np.float)
print(" mod_a_intersect_b / mod_a : ", numerator/denominator)
Здесь я получаю 2 выходных значения.Но в материале и в целом точность является единственной ценностью.Если размер списка увеличивается, то выходные значения также увеличиваются.Наконец я обнаружил, что неправильно понял значение модуля здесь.Направьте меня, чтобы получить значение одинарной точности согласно приведенной выше формуле.Заранее спасибо.
Примечание: В формуле a и b задаются значения.Поэтому я использовал список в моем коде.Также наставьте меня, если я использую другую опцию, чтобы упомянуть множество значений в python, тогда я могу получить значение с одинарной точностью