Python MLP网络的DeepExplainer出错,它使用的数据集只有浮点值

Python MLP网络的DeepExplainer出错,它使用的数据集只有浮点值,python,keras,Python,Keras,获取以下错误。当我使用DeepExplainer时 神经网络工作正常,下面是代码: 从keras.models导入 从keras.layers导入稠密 从sklearn.preprocessing导入比例 NNModel=Sequential() #添加一个输入层 NNModel.add(稠密的(24,activation='relu',input_shape=(43,)) #添加一个隐藏层 NNModel.add(密集(12,activation='relu')) #添加一个隐藏层 NNMod

获取以下错误。当我使用DeepExplainer时

神经网络工作正常,下面是代码:

从keras.models导入
从keras.layers导入稠密
从sklearn.preprocessing导入比例
NNModel=Sequential()
#添加一个输入层
NNModel.add(稠密的(24,activation='relu',input_shape=(43,))
#添加一个隐藏层
NNModel.add(密集(12,activation='relu'))
#添加一个隐藏层
NNModel.add(密集(6,activation='relu'))
#添加一个隐藏层
NNModel.add(密集(3,activation='relu'))
#添加一个输出层
NNModel.add(稠密的(1,activation='sigmoid'))
编译(loss='binary\u crossentropy',optimizer='adam',metrics=['accurity'])
NNModel.fit(X\u序列分辨率,y\u序列分辨率,历元=50,批量大小=1,详细度=1)
导入tensorflow.keras.backend
将numpy作为np导入
X_序列=X_序列分辨率样本(分形=100,替换=True)
X_测试11=X_df1_测试样本(分形=10,替换=True)
X_train_数组=X_train.to_numpy()
deepExplainer=shap.deepExplainer(NNModel,X\u train\u数组)
X=X_测试11
shap_值=deepExplainer.shap_值(X)
然而,当我使用deepExplainer时,它抛出以下错误:

keyrerror回溯(最近一次调用)
get\u loc中的~\anaconda3\lib\site packages\pandas\core\index\base.py(self、key、method、tolerance)
2894尝试:
->2895自动返回引擎。获取锁定(铸造键)
2896除KeyError作为错误外:
熊猫\\u libs\index.pyx在熊猫中。\ u libs.index.IndexEngine.get_loc()
熊猫\\u libs\index.pyx在熊猫中。\ u libs.index.IndexEngine.get_loc()
pandas\\u libs\hashtable\u class\u helper.pxi在pandas.\u libs.hashtable.PyObjectHashTable.get\u item()中
pandas\\u libs\hashtable\u class\u helper.pxi在pandas.\u libs.hashtable.PyObjectHashTable.get\u item()中
关键错误:0
上述异常是以下异常的直接原因:
KeyError回溯(最近一次呼叫最后一次)
在里面
1 X=X_列_1
---->2个shap_值=deepExplainer.shap_值(X)
形状值中的~\anaconda3\lib\site packages\shap\explainers\\u deep\\uu init\uuuuuuuuuuu.py(self、X、排名输出、输出排名顺序、检查可加性)
122人被选为“顶尖”。
123
-->124返回self.explainer.shap\u值(X,排序输出,输出排序顺序,检查可加性=检查可加性)
形状值中的~\anaconda3\lib\site packages\shap\explainers\\u deep\deep\u tf.py(self、X、排列输出、输出排列顺序、检查可加性)
310#将属性分配到输出数组的右侧部分
311对于范围内的l(len(X)):
-->312 phis[l][j]=(样本phis[l][bg_数据[l]。形状[0]:]*(X[l][j]-bg_数据[l])。平均值(0)
313
314输出\u phis.append(phis[0],如果不是自多输入,则为phis)
~\anaconda3\lib\site packages\pandas\core\frame.py in\uuuu\getitem\uuuuuuu(self,key)
2900如果self.columns.nlevels>1:
2901返回自我。\u获取项目\u多级(键)
->2902索引器=self.columns.get_loc(键)
2903如果是_整数(索引器):
2904索引器=[索引器]
get\u loc中的~\anaconda3\lib\site packages\pandas\core\index\base.py(self、key、method、tolerance)
2895自动返回引擎。获取锁定(铸造键)
2896除KeyError作为错误外:
->2897从err升起钥匙错误(钥匙)
2898
2899如果公差不是无:
关键错误:0