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())
Run Code Online (Sandbox Code Playgroud)
我运行 LSTM 只是为了查看包含 400 多个特征的数据集的特征重要性。我使用 Keras scikit-learn 包装器来使用 eli5 的 PermutationImportance 函数。但代码正在返回
ValueError: Found array with dim 3. Estimator expected <= 2.
Run Code Online (Sandbox Code Playgroud)
如果我使用,代码运行顺利,model.fit()
但无法调试排列重要性的错误。有谁知道出了什么问题?