擅长:python、mysql、java
<p>在keras2.0中,许多参数改变了名称,有一个兼容层来保持工作,但是在使用<code>KerasClassifier</code>时,它并不适用。你知道吗</p>
<p>在本部分代码中:</p>
<pre><code>estimator = KerasClassifier(build_fn=baseline_model, nb_epoch=200, batch_size=5, verbose=0)
</code></pre>
<p>您使用的是旧名称<code>nb_epoch</code>,而不是现代名称<code>epochs</code>。默认值是<code>epochs=1</code>,这意味着您的模型只针对一个历元进行了训练,产生的预测质量非常低。你知道吗</p>
<p>还要注意的是:</p>
<pre><code>model.add(Dense(3, init='normal', activation='sigmoid'))
</code></pre>
<p>您应该使用<code>softmax</code>激活而不是<code>sigmoid</code>,因为您使用的是分类交叉熵损失:</p>
<pre><code>model.add(Dense(3, init='normal', activation='softmax'))
</code></pre>