В настоящее время я обучаю LSTM, который классифицирует кадры. Я пытаюсь сравнить два двухмерных массива, чтобы проверить точность моего прогноза и цели. В настоящее время я искал не наивные способы решения этой проблемы с помощью NumPy / SciPy.
Мне известно, что существует np.testing.assert_array_equal (x, y), который использует Assertion для вывода результатов. Я ищу способ решения этой проблемы с помощью NumPy / SciPy, чтобы я мог сохранять результаты, а не распечатывать Assert:
Arrays are not equal
(mismatch 14.285714285714292%)
x: array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
y: array([0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0])
x = np.asarray([[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]])
y = np.asarray([[0, 0, 0], [0, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0]])
try:
np.testing.assert_array_equal(x, y)
res = True
except AssertionError as err:
res = False
print (err)
Я ищу способ, которым я могу хранить несоответствие этих двух массивов без использования наивного способа (две сравнительные петли):
accuracy = thisFunction(x,y)
Я уверен, что в NumPy есть что-то, что может решить эту проблему, мне не повезло с поиском встроенных функций.