今天在学习神经网络时,发现了这样的一行代码:
accuracy = np.sum(y == t) / float(x.shape[0])
并不是很理解np.sum(y == t)的含义,因此特别学习了一下。
下面是示例:
b = []
arr = np.random.randint(1,5,[4,5])
for i in range(arr.shape[0]):
b.append(np.sum(1 == aerr[i]))
结果是:
arr:
[[4 2 3 2 1]
[2 4 3 2 2]
[4 3 2 4 2]
[2 2 1 1 2]]
b:
[1, 0, 0, 2]
也就是说对于text这个4行5列的二维矩阵来说,np.sum(1 == arr[i])
中的 “==” 比较的是对于arr其中第i行的数据中的每一个元素来和“1”比较是否相同,如果一样就是1,不同就是0,然后将这一行所有得出的结果相加猜得到最终结果。