Python 如何使用经过训练的Keras模型进行新的预测?

Python 如何使用经过训练的Keras模型进行新的预测?,python,machine-learning,keras,iris-recognition,Python,Machine Learning,Keras,Iris Recognition,我是Keras的新手。当我完成虹膜分类教程时,我对这一点感到困惑,因为我们对这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/ 我的问

我是Keras的新手。当我完成虹膜分类教程时,我对这一点感到困惑,因为我们对这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模型并得到分类结果来绘制一个图表呢?

你需要训练你的网络,只有这样你才能使用它进行预测。使用本教程中的符号,您可以执行以下操作:

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)

你需要训练你的人际网络,只有这样你才能利用它进行预测。使用本教程中的符号,您可以执行以下操作:

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)