Getting ValueError:使用LSTM和GRU创建叠加系综时,序列估计器应为回归器

2024-05-14 20:17:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我是机器学习的初学者,尝试使用LSTM和GRU创建堆叠集成算法。但是,我得到以下错误:

Traceback (most recent call last):
  File "<input>", line 3, in <module>
  File "I:\API and Dataset\venv\lib\site-packages\sklearn\ensemble\_stacking.py", line 684, in fit
    return super().fit(X, y, sample_weight)
  File "I:\API and Dataset\venv\lib\site-packages\sklearn\ensemble\_stacking.py", line 139, in fit
    names, all_estimators = self._validate_estimators()
  File "I:\API and Dataset\venv\lib\site-packages\sklearn\ensemble\_base.py", line 241, in _validate_estimators
    raise ValueError(
ValueError: The estimator Sequential should be a regressor

我不知道该如何解释这个错误,也不知道该如何理解它。以下是我的模型供参考

LSTM型号

# model.add(LSTM(200, input_shape=(1,3), activation='relu', return_sequences=True))
LSTMmodel.add(Bidirectional(LSTM(100, input_shape=(1, lookback))))
LSTMmodel.add(Dense(100, activation='relu'))
LSTMmodel.add(Dense(50, activation='relu'))
LSTMmodel.add(Dense(1, activation='sigmoid'))
LSTMmodel.compile(loss='mean_absolute_error', optimizer='adam')
keras.backend.set_value(LSTMmodel.optimizer.learning_rate, 0.0007)
LSTMmodel.fit(X_train, Y_train_scaled, epochs=10, batch_size=5000, verbose=1)

注:GRU模型结构类似于LSTM

堆叠集成模型

estimator_list = [('GRUmodel', GRUmodel), ('LSTMmodel', LSTMmodel)]
stack_model = StackingRegressor(estimators=estimator_list, final_estimator=LogisticRegression)
stack_model.fit(X_train, Y_train.ravel())

Tags: andinaddapiinputlinetrainactivation
1条回答
网友
1楼 · 发布于 2024-05-14 20:17:44

您使用的是StackingRegressionor,而您的最终估计值是Classifier。如果您打算使用Logistic回归作为最终的估计量,可以尝试使用StackingClassifier

相关问题 更多 >

    热门问题