【发布时间】:2021-04-13 03:22:24
【问题描述】:
我使用 scikit_learn.GridSearchCV 为我的 Keras 神经网络(用于回归问题)网格搜索超参数。我的神经网络的输出是一个实数值:
#generate a model (createModel is a function which returns a keras.Sequential model)
model = keras.wrappers.scikit_learn.KerasRegressor(build_fn=createModel)
#run the GridSearch
paramGrid = dict( epochs=[100, 250, 500], batch_size=[16, 32, 64] )
grid = sklearn.model_selection.GridSearchCV(estimator=model, param_grid=paramGrid, n_jobs=1, cv=5)
#obtain and print the result (X, y are some data)
grid_result = grid.fit(X, y)
print("Best: %f using %s" % (grid_result.best_score_, grid_result.best_params_))
我不明白网格搜索结果中的 best_score_ 成员究竟是什么。是理论值和预测值之间的差距吗?在我的示例中,这个 best_score_ 总是负面的(而且相当大),这对我来说没有任何意义。
【问题讨论】:
-
这最终将取决于您的
createModel代码,特别是您设置的损失和/或指标。
标签: keras scikit-learn grid-search