2016-10-31 4 views
1

Ich bin ein Newbee von Keras. Wenn ich mit dem Iris-Klassifizierungs-Tutorial fertig bin, verwechselte ich das nur, da wir diese 3 Arten von Irisblumen kodierten, zum Beispiel One-Hot-Encoding. Wir sollten 3 orthogonale Vektoren richtig bekommen?Wie kann ich das trainierte Keras-Modell verwenden, um neue Vorhersagen zu treffen?

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

mein Modell ist das gleiche wie Tutorial:

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

und meine Frage ist, obwohl ich das Ergebnis bekam:

Baseline: 95.33% (4.27%) 

, aber wenn ich das trainiert tief Netzwerk-Modell nennen:

prediction = baseline_model().predict(X) 

wo X ist das Original Eingang, wenn ich das Netz

Ich habe eine sehr verdrahteten Prognosen trainiert, so dass:

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

mit allen Nullvektoren, und ich sollte rechts ein One-Hot-codiertes Ergebnis bekommen? um zu bestimmen, in welcher Klasse die Blume sein sollte.

also wie kann ich mein trainiertes Keras-Modell nutzen, während ich den gleichen Eingang X eingib und das Klassifikationsresultat erhalte, um ein Diagramm zu zeichnen ??

Antwort

0

Sie müssen Ihr Netzwerk trainieren, und nur dann können Sie es für die Vorhersage verwenden. Mit den Notationen aus dem Lernprogramm können Sie Folgendes tun:

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) 
Verwandte Themen