можно ли использовать классификатор голосования для LSTM?

#deep-learning #lstm #recurrent-neural-network #ensemble-learning

#глубокое обучение #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.
 

Комментарии:

1. Для этого вам нужно использовать KerasClassifier, он даже есть в вашем коде (но прокомментирован).

2. @ Dr snoopy если раскомментировать, я получаю следующую ошибку AttributeError: объект ‘KerasClassifier’ не имеет атрибута ‘ call