Я пытаюсь построить график важности функций по временным шагам, используя Shap DeepExplainer. Однако я получаю ValueError как «Ожидается экземпляр тензора symboli c». и «Layer sequence_3 был вызван с входом, который не является тензором symboli c». Я относительно новичок в Shap и Deep Learning. Любая помощь будет оценена. Код, который я использую, прост, как показано ниже:
import shap
random_ind = np.random.choice(x.shape[0], 1000, replace = False)
random_ind2 = np.random.choice(X_test2.shape[0], 200, replace = False)
data = x[random_ind[0:1000]]
data_test = X_test2[random_ind2[0:200]]
DE = shap.DeepExplainer(model, x)
shap_values = DE.shap_values(data_test)
Моя модель выглядит так:
model = Sequential()
model.add(LSTM(
units=50,
return_sequences=True,
input_shape=(seq_length, nb_features)))
model.add(Dropout(0.2))
model.add(LSTM(
units=25,
return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(units=1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer = "adam", metrics=["accuracy"])
Спасибо.