1

我是 Keras 的新手。当我完成 Iris 分类教程时,我只是对此感到困惑,因为我们对这 3 种鸢尾花进行了编码,例如 one-hot 编码。我们应该得到 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 模型?

4

1 回答 1

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)
于 2017-07-21T16:00:49.677 回答