Python:如何以最简单的方式比较两个数组

时间:2017-02-09 18:48:06

标签: python numpy

我正在做机器学习的东西。 我这天遇到了一个问题,希望有人可以帮助我。

我有两个具有相同维度的数组[Array(Prediction)和Array(Labels))[Shape:(128,5)]。第一个维度是每个预测和标签的索引。第二个维度是与每个预测和标签相关联的结果

我想输出准确性 这是我的代码。

right_count = 0
for i in range(Prediction.shape[0])  # Foreach each predict/label
    if(np.array_equal(Prediction[i], Labels[i])):  # Compare each result
        right_count += 1

accuracy = float(right_count) / Prediction.shape[0]'

我只是想知道是否有更好的方法来简单地使用以下代码。

谢谢

1 个答案:

答案 0 :(得分:4)

该代码可以简化,例如:

accuracy = (Prediction == Labels).all(axis=1).mean()

这也比原始版本运行得更快,因为更多的操作是在Numpy内部而不是在Python代码中完成的。

相关问题