def try_and_error(layers, activation):
model = Sequential()
for i, nodes in enumerate(layers):
if i==0:
model.add(Dense(nodes,input_dim=train_X.shape[1]))#input layers
model.add(Activation(activation)) #Activation layer
else:
model.add(Dense(nodes))# Hidden Layers
model.add(Activation(activation))#Activation Layers
model.add(Dense(1)) # output layer
model.compile(optimizer='adam', loss='binary_crossentropy',metrics=['accuracy'])
return model
layers=[[150], [160,100], [140,100,500]]
activations = ['sigmoid', 'relu']
param_grid = dict(layers=layers, activation=activations, batch_size=
[500,800,1000])
grid =
RandomizedSearchCV(
estimator=KerasClassifier(build_fn=try_and_error
,epochs=100,verbose=0),
param_distributions =param_grid)
grid_result= grid.fit(train_X,train_y)}
, и это ошибка, с которой я столкнулся, даже если я пробовал это с результатом gridsearchcv, все тот же RuntimeError: Cannot clone object <keras.wrappers.scikit_learn.KerasClassifier object at 0x7f3d7959c390>
, поскольку конструктор не устанавливает или не изменяет слои параметров