Python 如何计算精度?

Python 如何计算精度?,python,neural-network,Python,Neural Network,我正在努力从我的神经网络计算准确度。我正在使用带有反向传播算法的MNIST数据库。一切都是从头开始的 我的部分代码如下所示: 对于范围1中的x,纪元+1: 计算前馈 ... SoftMax的激活值=softmaxZ2 丧失 这是我的标签 损耗=-np.sumY*np.logactivationValueOfSoftmax,轴=0,keepdims=True 成本=np.sumloss,轴=1/m为784 反向传播 dZ2=软件的激活值-Y 其余的参数 ... 通过梯度下降更新参数 ... 我可以

我正在努力从我的神经网络计算准确度。我正在使用带有反向传播算法的MNIST数据库。一切都是从头开始的

我的部分代码如下所示:

对于范围1中的x,纪元+1: 计算前馈 ... SoftMax的激活值=softmaxZ2 丧失 这是我的标签 损耗=-np.sumY*np.logactivationValueOfSoftmax,轴=0,keepdims=True 成本=np.sumloss,轴=1/m为784 反向传播 dZ2=软件的激活值-Y 其余的参数 ... 通过梯度下降更新参数 ... 我可以从中计算精度吗,或者我必须重做NN的某些部分吗


谢谢你的帮助

我假设你的测试集有10个数字的10个大小的一个热y向量,你通过训练集的前向道具检索你的假设

correct = 0

    for i in range(np.shape(y)[0]):
        #argmax retrieves index of max element in hypothesis
        guess = np.argmax(hyp[i, :])
        ans= np.argmax(y[i, :])
        print("guess: ", guess, "| ans: ", ans)
        if guess == match:
            correct = correct + 1;

accuracy = (correct/np.shape(y)[0]) * 100
你必须用你的权重和测试集数据再次向前推进,以得到你的假设向量应该是10大小,然后你可以循环测试集中的所有y值,使用一个计数器变量correct来检索正确的数量。要获得百分比,您只需将正确值除以测试集示例数,然后乘以100即可

如果您想从训练集中获得准确度,只需在您的案例中使用您的假设activationValueOfSoftmax,并执行相同的操作


祝你好运你有预测吗?如果您想一步一步地执行此操作,请创建一个包含y_pred和y_true的数据帧,添加一个额外的列,条件是:如果y_pred==y_true,则为1,否则为0。最后计算该栏的平均分,这就是你的准确度。非常感谢!现在我发现,我的NN基本上没有学习:D。