Keras GridSearch模型预测

时间:2019-04-15 14:52:49

标签: python numpy keras scikit-learn

我正在努力解决一个似乎无法解决的怪异问题。

因此,我使用KerasClassifierGridSearch为我的模型构建和搜索最佳参数。这部分工作正常。

在此之后,我尝试根据测试数据进行预测,这是奇怪的事情发生的地方。 假设我的grid_search对象为grid,而我的测试数据为X_test,我注意到grid.best_estimator_.predict(X_test)的结果与grid_best_estimator_.model.predict(X_test)的结果完全不同。

有关更多背景信息,以下是grid.best_estimator_.predict(X_test)的结果示例:

       1, 1, 1, 1, 3, 3, 1, 3, 1, 1, 3, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 3,
       1, 1, 1, 1, 3, 3, 1, 3, 1, 3, 1, 1, 1, 1, 0, 1, 1, 1, 3, 1, 3, 3,
       1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 3, 1, 1, 3,
       1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1,
       1, 3, 1, 1, 3, 1, 3, 1, 1, 0, 1, 1, 3, 1, 1, 3, 3, 1, 1, 1, 3, 1,
       1, 3, 1, 3, 1, 3, 1, 1, 3, 1, 1, 1, 1, 3, 1, 1, 1, 3, 1, 1, 1, 1,
       1, 1, 3, 1, 1, 3, 3, 3, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 3, 1, 1, 1, 3, 1, 1, 1, 3, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1,
       1, 3])

这是grid_best_estimator_.model.predict(X_test)的结果:

[[4.16748554e-01 3.44473362e-01 1.22328281e-01 1.16449825e-01]
 [3.47690374e-01 4.35497969e-01 9.62351710e-02 1.20576508e-01]
 [4.16748554e-01 3.44473362e-01 1.22328281e-01 1.16449825e-01]
 [4.16748554e-01 3.44473362e-01 1.22328281e-01 1.16449825e-01]
 [4.16748554e-01 3.44473362e-01 1.22328281e-01 1.16449825e-01]
 [4.48489130e-01 3.48928362e-01 1.13302141e-01 8.92804191e-02]
 [4.16748554e-01 3.44473362e-01 1.22328281e-01 1.16449825e-01]
 [2.65852152e-03 2.72439304e-03 5.55709645e-04 9.94061410e-01]
 [4.16748554e-01 3.44473362e-01 1.22328281e-01 1.16449825e-01]
 [4.16748554e-01 3.44473362e-01 1.22328281e-01 1.16449825e-01]
 [4.16748554e-01 3.44473362e-01 1.22328281e-01 1.16449825e-01]
 [1.14751011e-01 2.33341262e-01 3.13971192e-02 6.20510638e-01]
 [8.30730610e-03 1.07289189e-02 1.87594432e-03 9.79087830e-01]

为了调试此错误,我尝试在grid_best_estimator_.model(X_test)的输出上调用np.argmax()。然后尝试(result_of_best_estimator == result_of_model).all()返回False

那么,我想念什么吗?还是我误解了它应该如何工作?

0 个答案:

没有答案