我试图利用这篇文章中的layers
{
但是,我正在使用sklearn
的KerasRegressor
包装器,这样我就可以使用GridSearch
。我想知道是否有任何方法可以从GridSearch
中访问get_weights
,以便跟踪每个CV分割使用的权重
这是我的密码。我尝试使用代码块中的最后一行,但出现以下错误:
GridsearchCV object has no attribute 'layers'
X = data.iloc[:, 0:8]
y = data.iloc[:, 8:9]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.25, shuffle=False)
test_index = X_test.index.values.tolist()
scalarX = MinMaxScaler()
scalary = MinMaxScaler()
scalarX.fit(X_train)
scalary.fit(y_train)
X_train, X_test = scalarX.transform(X_train), scalarX.transform(X_test)
y_train, y_test = scalary.transform(y_train), scalary.transform(y_test)
def build_regressor(units1):
regressor = Sequential()
regressor.add(Dense(units=units1, input_dim=8, activation='relu'))
regressor.add(Dense(units=1))
regressor.compile(loss='mean_squared_error', optimizer='adam',
metrics=['mae', 'accuracy'])
return regressor
regressor = KerasRegressor(build_fn=build_regressor)
ann_params = {'batch_size': [10, 25, 35],
'nb_epoch': [20, 50],
'units1': [8, 16, 32, 64]}
gsc = GridSearchCV(regressor, param_grid=ann_params,
cv=TimeSeriesSplit(n_splits=5).split(X_train), verbose=10, n_jobs=-1, refit=True)
gsc.fit(X_train, y_train)
layers = gsc.layers[1].get_weights() #doesn't work -returns error above
目前没有回答
相关问题 更多 >
编程相关推荐