如何使用训练有素的Keras模型进行新的预测?

时间:2016-10-31 18:03:23

标签: python machine-learning keras iris-recognition

我是Keras的新人。当我完成Iris分类教程时,我只是对此感到困惑,因为我们编码了这3种鸢尾花,例如,单热编码。我们应该得到3个正交向量吗?

setosa      [1 0 0]
versicolor  [0 1 0]
virginica   [0 0 1]

我的模型与教程相同:

http://machinelearningmastery.com/multi-class-classification-tutorial-keras-deep-learning-library/

我的问题是虽然我得到了结果:

Baseline: 95.33% (4.27%)

但是当我打电话给训练有素的深层网络模型时:

prediction = baseline_model().predict(X)

其中X是我训练网络时的原始输入

我得到了非常有线的预测:

print prediction
0,0,0
0,0,0
0,0,0
0,0,0

所有零向量,我应该得到一些单热编码结果吗?确定花应该是哪一类。

那么如何在输入相同的输入X并获得分类结果来绘制图形时如何利用我训练过的Keras模型?

1 个答案:

答案 0 :(得分:0)

您需要训练您的网络,然后才能将其用于预测。使用教程中的符号,您可以:

estimator = KerasClassifier(build_fn=baseline_model, nb_epoch=200, batch_size=5, verbose=0)
X_train, X_test, Y_train, Y_test = train_test_split(X, dummy_y, test_size=0.33, random_state=seed)
estimator.fit(X_train, Y_train)
predictions = estimator.predict(X)