【问题标题】:How to show the result of prediction in percentage in keras?如何在keras中以百分比显示预测结果?
【发布时间】:2017-01-02 14:07:07
【问题描述】:

在 keras 中始终以一种热门格式输出的结果如下所示:

[[ 0.  0.  0.  0. 0. 0. 1. 0]]
[[ 0.  1.  0.  0. 0. 0. 0. 0]]

但我想对每个分类都有一个概率百分比,例如

[[ 0.54  0.80  0.34  0.041]]

下面是我的简单代码

import numpy as np
from keras.models import load_model

from new_get_data_for_test import load_my_data

try :
   X_test = load_my_data()

   model = load_model('/home/istiyak/development/pythonProject/my_save_model.h5')

   output = model.predict(X_test)

   print("After pridiction our output is : ")
   print (output)
   print(np.argmax(output, axis=1))

except Exception as e :
   print ("Some Exception occurs")

【问题讨论】:

    标签: python-2.7 machine-learning deep-learning keras conv-neural-network


    【解决方案1】:

    使用predict_proba。来自文档:

    predict_proba(self, x, batch_size=32, verbose=1)

    逐批为输入样本生成类别概率预测。

    返回一个概率预测的 Numpy 数组。

    【讨论】:

    • 我使用了 predict_proba() 函数但给出了相同的结果。
    • 我也使用了 predict_classes() 但不返回概率预测的 Numpy 数组@Sergii Gryshkevych
    • 在这种情况下,您的模型似乎可能存在一些问题。我将从检查最终 softmax 层的输入开始。从其输入的某个数量级开始,softmax 可能会产生类似“on-hot”的输出。这种问题可以通过正则化来缓解。
    • predict_proba() 的类路径是什么?
    猜你喜欢
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2019-09-23
    • 2022-07-06
    • 2020-05-20
    • 1970-01-01
    相关资源
    最近更新 更多