【问题标题】:for loop apeend to vectorfor 循环附加到向量
【发布时间】:2021-06-24 10:59:49
【问题描述】:

我有一个 y_test.shape = (2005, 1) 我建立了一个模型并进行了如下预测:predict=model1.predict(np.array(test_x))

我得到了预测形状 (2005, 7)

我想获得模型精度,但由于形状不同,我无法执行精度计算。模型预测的工作方式是每个类都在一列中,如果图片属于该类,它将有 1。有没有办法使它成为向量,每一行对应于类号。

如果我有标记测试,还有另一种方法来获得预测的准确性吗?我想将它与预测进行比较?

【问题讨论】:

    标签: python keras model


    【解决方案1】:

    假设predictiontest_x 在每个类中的预测概率,你可以使用prediction.argmax(axis=1) 得到一个包含预测类索引(从0 到6)的size-2005 向量。也可以计算预测损失

    pred_class = prediction.argmax(axis=1)
    l2loss = ((pred_class - y_test[:, 0]) ** 2).mean()
    

    y_test[:, 0] 只需将矩阵 (2005, 1) 更改为大小为 2005 的向量。或者您可以将 0/1 损失作为

    binary_loss = (pred_class != y_test[:, 0]).mean()
    

    【讨论】:

    • 感谢您的回复,如何获得模型的准确性?
    猜你喜欢
    • 2020-10-25
    • 2021-05-17
    • 2021-05-25
    • 2015-01-13
    • 2019-04-09
    • 1970-01-01
    • 2021-10-08
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多