keras:model.predict和model.predict_proba之间有什么区别

jin*_*imo 20 python machine-learning deep-learning keras

我发现model.predict和model.predict_proba都给出了一个相同的2D矩阵,表示每行的每个类别的概率.

这两个功能有什么区别?

Was*_*mad 27

预测

predict(self, x, batch_size=32, verbose=0)
Run Code Online (Sandbox Code Playgroud)

生成输入样本的输出预测,以批处理方式处理样本.

参数

x: the input data, as a Numpy array.
batch_size: integer.
verbose: verbosity mode, 0 or 1.
Run Code Online (Sandbox Code Playgroud)

返回

A Numpy array of predictions.
Run Code Online (Sandbox Code Playgroud)

predict_proba

predict_proba(self, x, batch_size=32, verbose=1)
Run Code Online (Sandbox Code Playgroud)

逐批生成输入样本的类概率预测.

参数

x: input data, as a Numpy array or list of Numpy arrays (if the model has multiple inputs).
batch_size: integer.
verbose: verbosity mode, 0 or 1.
Run Code Online (Sandbox Code Playgroud)

返回

A Numpy array of probability predictions.
Run Code Online (Sandbox Code Playgroud)

编辑:在最近版本的keras中,predict和predict_proba是相同的,即两者都给出了概率.要获取类标签,请使用predict_classes.文档未更新.(改编自Avijit Dasgupta的评论)

  • 在最近版本的keras中,predict和predict_proba是相同的,即两者都给出了概率.要获取类标签,请使用predict_classes.文档未更新. (9认同)
  • 但似乎 model.predict 也给出了一个 numpy 的概率预测数组,而不是直接样本标签 (2认同)
  • `model.predict_proba` 在 Keras 2.0.8 中似乎不再存在。 (2认同)