Вопрос о важности перестановки на LSTM Keras - PullRequest
0 голосов
/ 15 марта 2020
from keras.wrappers.scikit_learn import KerasClassifier, KerasRegressor   
import eli5
from eli5.sklearn import PermutationImportance

model = Sequential()
model.add(LSTM(units=30,return_sequences= True, input_shape=(X.shape[1],421)))
model.add(Dropout(rate=0.2))
model.add(LSTM(units=30, return_sequences=True))
model.add(LSTM(units=30))
model.add(Dense(units=1, activation='relu'))

perm = PermutationImportance(model, scoring='accuracy',random_state=1).fit(X, y, epochs=500, batch_size=8)
eli5.show_weights(perm, feature_names = X.columns.tolist())

Итак, я запускаю LSTM только для того, чтобы увидеть важность функции моего набора данных, содержащего 400+ функций. Я использовал оболочку Keras scikitlearn для использования функции eli5 PermutationImportance. Но код возвращает эту ошибку «ValueError: Найденный массив с dim 3. Ожидается оценщик <= 2.». </p>

Код работает без сбоев, если я использую model.fit (), но не могу отладить ошибку важность перестановки. Кто-нибудь знает, что не так?

...