【发布时间】:2019-01-22 03:34:38
【问题描述】:
我目前正在训练一个对帧进行分类的 LSTM。我要做的是比较两个 2d numpy 数组以检查我的预测和目标之间的准确性。我目前正在寻找使用 NumPy / SciPy 解决这个问题的非天真的方法。
我知道有 np.testing.assert_array_equal(x, y) 使用断言来输出结果。我正在寻找一种使用 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 中有一些东西可以解决这个问题,但我没有找到内置函数。
【问题讨论】:
-
看
np.all_close -
等等,堆栈溢出降价现在允许三次反引号?太棒了!
标签: python python-3.x numpy multidimensional-array scipy