如何评估LSTM模型?

时间:2020-11-11 18:12:47

标签: python keras shap

我正在使用LSTM模型来预测商品的标签(真假)。但是,当我使用验证数据验证模型时,我想全面了解哪些特征(即单词)负责预测。

embedding_vector_features=40
num_epochs = 15
voc_size = 50000

model=Sequential()
model.add(Embedding(voc_size,embedding_vector_features,input_length=sentence_length))
model.add(Dropout(0.5))
model.add(LSTM(64,dropout=0.5, recurrent_dropout=0.5))
#odel.add(LSTM(200))
model.add(Dropout(0.5))
model.add(Dense(1,activation='sigmoid'))
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])
lstm_model_history = model.fit(x_train,y_train,validation_data=(x_test,y_test),epochs=num_epochs,batch_size=64)

到目前为止,我一直在使用Shap来了解哪个词负责预测。但是我只知道如何检查特定样本。

import shap

explainer = shap.DeepExplainer(model, x_train[:100])

shap_values = explainer.shap_values(x_test[:100])

shap.initjs()
# words[] contains the matching strings to the shap_values
shap.force_plot(explainer.expected_value[0], shap_values[0][0], words[0])

我希望获得以下概述,但是我只想为一个样本提供一个累积的概述,例如100个样本(文章)。因此,在该概述中,我想看到最重要的词,用于预测100篇文章的标签。

0 个答案:

没有答案