我最近对 SHAP 很陌生。我很好奇“特征重要性”对自动编码器模型意味着什么。
假设我有一个训练有素的 AE 模型。如果我运行类似的代码
e = shap.KernelExplainer(autoencoder.predict, X_train.values)
shap_values = e.shap_values(X_train.values)
shap.summary_plot(shap_values, X_train)
所以我想知道结果是什么意思?因为它是一个自动编码器神经网络。“特征重要性”是否意味着该模型的哪个特征更重要?另外,我应该用 X_test 替换 X_train 吗?自动编码器以其异常检测能力而闻名。如果我将一些异常样本放入
shap_values = e.shap_values(Abnormal_sample.values)
这意味着什么?
此外,我发现 SHAP 模型不需要任何训练目标值(任何神经网络模型的 y 值)。那么它是如何定义“特征重要性”的呢?
非常感谢!