Python sckit learn RandomizedSearchCV没有属性';最佳估计量x27;使用Keras回归时

Python sckit learn RandomizedSearchCV没有属性';最佳估计量x27;使用Keras回归时,python,tensorflow,keras,scikit-learn,Python,Tensorflow,Keras,Scikit Learn,我正在使用tf.keras和tensorflow 2.x并尝试在scikit-learn中使用RandomizedSearchCV调整简单MLP模型的超参数 软件包和python版本:python 3.7.5,scikit学习0.22.2,以及tensorflow 2.1.0 我尝试搜索: 隐藏层的最佳深度(数量)(即n\u hidden) 每层中神经的最佳数量,其中每个隐藏层具有相同数量的神经(即n_neurous) 最佳学习率(即lr) 从sklearn.model_选择导入随机搜索CV

我正在使用
tf.keras
tensorflow 2.x
并尝试在
scikit-learn
中使用
RandomizedSearchCV
调整简单MLP模型的超参数 软件包和python版本:
python 3.7.5
scikit学习0.22.2
,以及
tensorflow 2.1.0

我尝试搜索:

  • 隐藏层的最佳深度(数量)(即
    n\u hidden
  • 每层中神经的最佳数量,其中每个隐藏层具有相同数量的神经(即
    n_neurous
  • 最佳学习率(即
    lr
从sklearn.model_选择导入随机搜索CV
从scipy.stats导入
从tensorflow进口keras
导入tensorflow作为tf
将numpy作为np导入
def build_keras(n_hidden=3,n_neurous=30,lr=1e-3,input_shape=[8]):
#用于建筑路缘石
model=keras.models.Sequential()
model.add(keras.layers.InputLayer(输入形状=输入形状))
#有n_隐藏的密集层
对于范围内的i(n_隐藏):
model.add(keras.layers.density(n_neurous,activation='relu'))
#输出层
模型.添加(keras.层.致密(1))
compile(loss='mse',optimizer=keras.optimizers.SGD(lr=lr))
回归模型
keras\u reg=keras.wrappers.scikit\u learn.keras回归器(build\u keras)
搜索参数={
‘n_hidden’:[1,3,5,7],
n_neurous:阿兰奇np.arange(1100),
“lr”:倒数(3e-4,3e-2)
}
rnd_搜索=随机搜索cv(keras_reg,搜索参数,cv=3,n_iter=10)
rnd_search.fit(X_train_trans,y_train,epochs=100,validation_data=(X_val_trans,y_val),
回调=[keras.callbacks.earlystoping(耐心=5)])
rnd_search.best_params工作正常
rnd_search.best_score效果良好
rnd_搜索_cv.best_估计器35;错误:无属性