首页 > 解决方案 > 如何为 GRU 模型设置网格搜索?

问题描述

'''你好!我还没有对 NN 模型进行网格搜索,而且它似乎不像线性回归那样简单直接。我完全糊涂了。请告诉我我做错了什么,以及如何正确写?提前致谢!'''

from sklearn.pipeline import Pipeline
from sklearn.model_selection import GridSearchCV


activation = ["elu", "exponential", "hard_sigmoid", "linear", "relu", "selu", "sigmoid", "softmax", "softplus", "softsign",
             "tanh"]

optimizer = ["Adadelta", "Adagrad", "Adam", "Adamax", "Ftrl", "Nadam", "ORMSprop", "SGD"]

units = np.geomspace(1, 90, 5)

# prepare grid search (search space)
search_space = [{'activation': activation,
                 'oprimizers': optimizer,
                'units': units}]  # grid 1 for linear regression

pipeline= Pipeline( ("input layer" ,Input(shape=(7,1), dtype='float32')),
                    ("GRU", GRU(units=num_neurons, input_shape=(7,1), return_sequences=False, activation=activation)(input_layer)),
                   ("dropout_layer" ,Dropout(0.2)(gru_layer) ),
                   ("output_layer", Dense(1, activation=activation)(dropout_layer)),
                   ("ts_model", Model(inputs=input_layer, outputs=output_layer)),
                   ("comp", ts_model.compile(loss='mae', optimizer=optimizer,  metrics=['accuracy'])))

# set up grid search
model_grid_cv = GridSearchCV(estimator=pipeline, 
                   param_grid=search_space, 
                   scoring='r2',
                   cv=time_split)

标签: python-3.xkerasgrid-search

解决方案


推荐阅读