如何访问keras中的类概率?

时间:2017-02-10 12:26:38

标签: python keras

我正在训练一个模型,我需要报告类概率而不是单个分类。我有三个类,每个训练实例都分配了三个类中的任何一个。

我正在尝试使用Keras创建一个MLP。但我无法想象如何提取每个类的最终类概率。我使用此作为我的基本示例:http://machinelearningmastery.com/regression-tutorial-keras-deep-learning-library-python/

谢谢!

2 个答案:

答案 0 :(得分:8)

为了执行多类分类(nb_classes> 1),您必须以特定方式准备模型。

  1. 确保您的标签设计精良,适合多级分类。看看numpy_utils
  2. 您必须使用categorical_crossentropy作为多类分类的目标函数(请参阅Keras objectives
  3. 您的最后一层必须具有softmax激活功能(保证输出介于0和1之间)和nb_classes神经元。
  4. 照常培训模型
  5. 使用预测功能。您将收到一个大小为(nb_classes,1)的向量,其中包含每个类的概率。

答案 1 :(得分:4)

您可以使用训练模型的预测方法

  

预测

     

预测(self,x,batch_size = 32,verbose = 0)

     

为输入样本生成输出预测,以批量处理样本   方式。

     

参数

     

x:输入数据,作为Numpy数组(或Numpy数组列表,如果是   模型有多个输出)。 batch_size:整数。冗长:冗长   模式,0或1。

     

返回Numpy预测数组。

model.predict(input_to_your_network)