我发现model.predict
和model.predict_proba
都提供了一个相同的二维矩阵,表示每行数据在每个类别上的概率。
这两个函数有什么区别?
我发现model.predict
和model.predict_proba
都提供了一个相同的二维矩阵,表示每行数据在每个类别上的概率。
这两个函数有什么区别?
预测
predict(self, x, batch_size=32, verbose=0)
为输入样本生成输出预测,以批处理方式处理样本。
参数
x: the input data, as a Numpy array.
batch_size: integer.
verbose: verbosity mode, 0 or 1.
返回
A Numpy array of predictions.
predict_proba
predict_proba(self, x, batch_size=32, verbose=1)
逐批次生成输入样本的类概率预测。
参数
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.
返回
A Numpy array of probability predictions.
编辑: 在最新版本的keras中,predict和predict_proba是相同的,即都给出概率。要获取类标签,请使用predict_classes。文档尚未更新。(摘自Avijit Dasgupta的评论)
仅作一点说明:事实上,在大多数分类器(例如Scikit)中,你都有predict
和predict_proba
两种方法。正如已经提到的,第一个方法预测类别,第二个方法为每个类别提供按升序排列的概率。
model.predict_proba
了。 - Martin Thoma