【问题标题】:Keras predict(..) output interpretationKeras predict(..) 输出解释
【发布时间】:2018-11-04 07:52:48
【问题描述】:

我目前使用 keras 模型进行文本分类。调用评估方法时,我的准确率通常在 90% 左右。但是,调用 predict 函数并打印输出对我来说似乎无法解释。我正在使用 binary_crossentropy。我不知道哪个值会触发神经元活跃,或者根本不知道如何看到它。 我附上了一些输出(二进制是实际的类)。评估如何计算准确率?

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

[0.02632797 0.02205164 0.00884359 0.00948936 0.21821289 0.02533042
 0.07450009 0.01911888 0.22753781 0.00904192 0.0023979  0.03065717
 0.0049532  0.09980826 0.0047154 ]


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

[0.17915486 0.1063956  0.05139401 0.01718497 0.06058983 0.11605757
 0.11845534 0.03865225 0.6665891  0.01648878 0.02570258 0.14659531
 0.01044943 0.04226198 0.02007598]


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

[0.07659172 0.07020403 0.00733146 0.01322867 0.43747708 0.02796873
 0.03419256 0.03095324 0.15433209 0.02747604 0.01686232 0.0165229
 0.0226498  0.01947697 0.07312528]

【问题讨论】:

  • evaluate() 和 predict() 的区别已经讨论过here

标签: python keras out


【解决方案1】:

使用“categorical_crossentropy”而不是“binary_crossentropy”。

检查您是否正在规范化训练数据(例如 X_train/255)而不是规范化测试数据。

【讨论】:

  • 谢谢。不,这并不能解决问题。参考:github.com/keras-team/keras/issues/2166。输入可以有多个标签。问题是我的代码很稀疏。我将提出一个新问题,因为我当前的问题似乎没有被正确理解。
猜你喜欢
  • 2022-06-21
  • 2018-03-30
  • 1970-01-01
  • 1970-01-01
  • 2021-12-18
  • 2021-12-30
  • 2020-10-24
  • 2018-06-11
  • 2017-06-12
相关资源
最近更新 更多