#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 ‘