问题描述
我正在寻求有关使用LSTM作为时间步长输入特征(其中29个特征)时如何使用Shap进行解释的指南。
所以我的训练数据集的形状为(samples,29,1)
。
解决方法
要获得解释,您可以将每个时间步骤都视为一个单独的功能。
但是,您应该知道SHAP遮罩/隐藏功能来确定其重要性。如何掩盖特征很重要,并且时间序列数据掩盖特征同时又不会在输入数据中引入伪像,这比较棘手。因此,一种更好的方法是解决此问题并构建自己的shap.maskers.Masker
子类,该子类以一种实际的方式掩盖数据(例如,将掩盖的值及其相邻值填充)。向库添加时间序列掩蔽器也可以作为功能请求/ PR发布。