首页 > 解决方案 > 是否可以对 LSTM 使用投票分类器?

问题描述

这里我尝试对 LSTM、BILSTM、GRU 和 BIGRU 的输出使用投票分类器,但得到 ValueError:估计器顺序应该是分类器错误。如何解决此错误,非常感谢这方面的任何帮助。这是我试图运行的代码。

from sklearn.ensemble import VotingClassifier
from keras.wrappers.scikit_learn import KerasClassifier
#create a dictionary of our models
#nn = KerasClassifier()
#nn._estimator_type = "classifier"
estimators=[('lstm', model1), ('bilstm', model2), ('gru', model3),('bigru',model4)]
#create our voting classifier, inputting our models
ensemble = VotingClassifier(estimators, voting='hard')
#fit model to training data
ensemble.fit(x_train, y_train)

这是完整的错误消息

ValueError                                Traceback (most recent call last)
<ipython-input-17-6474190dd669> in <module>()
      9 ensemble = VotingClassifier(estimators, voting='hard')
     10 #fit model to training data
---> 11 ensemble.fit(x_train, y_train)

2 frames
/usr/local/lib/python3.6/dist-packages/sklearn/ensemble/_base.py in _validate_estimators(self)
    247                 raise ValueError(
    248                     "The estimator {} should be a {}.".format(
--> 249                         est.__class__.__name__, is_estimator_type.__name__[3:]
    250                     )
    251                 )

ValueError: The estimator Sequential should be a classifier.

标签: deep-learninglstmrecurrent-neural-networkensemble-learning

解决方案


推荐阅读