Python KeyError:将SP_石灰与Lightgbm一起使用时出现1
我正在使用SP_石灰解释基于Lightgbm模型的客户流失预测结果。 使用LIME explainer.explain\u实例可以正常工作 当我在同一数据集的第一部分上尝试SP_LIME时Python KeyError:将SP_石灰与Lightgbm一起使用时出现1,python,lime,Python,Lime,我正在使用SP_石灰解释基于Lightgbm模型的客户流失预测结果。 使用LIME explainer.explain\u实例可以正常工作 当我在同一数据集的第一部分上尝试SP_LIME时 sp\u obj=submoduler\u pick.submoduler点击(解释者,数据源[model\u lgbm.feature\u name())。值,prob,num\u features=5,num\u exps\u desired=10) 也可以。结果如下: Intercept -0.0172
sp\u obj=submoduler\u pick.submoduler点击(解释者,数据源[model\u lgbm.feature\u name())。值,prob,num\u features=5,num\u exps\u desired=10)
也可以。结果如下:
Intercept -0.017232899377758105
Prediction_local [0.50051062]
Right: 0.9748700776391315
Intercept -0.016903088945780256
Prediction_local [0.28478504]
Right: 0.5419652445350156
在绘制代码之后,我得到了以下错误:
[exp.as_pyplot_图(label=1)表示sp_对象sp_解释中的exp]
KeyError Traceback (most recent call last)
<ipython-input-140-cf85e71256d4> in <module>
----> 1 [exp.as_pyplot_figure(label=1) for exp in sp_obj.sp_explanations]
<ipython-input-140-cf85e71256d4> in <listcomp>(.0)
----> 1 [exp.as_pyplot_figure(label=1) for exp in sp_obj.sp_explanations]
~\AppData\Local\Continuum\anaconda3\envs\use-case\lib\site-packages\lime\explanation.py in as_pyplot_figure(self, label, **kwargs)
167 """
168 import matplotlib.pyplot as plt
--> 169 exp = self.as_list(label=label, **kwargs)
170 fig = plt.figure()
171 vals = [x[1] for x in exp]
~\AppData\Local\Continuum\anaconda3\envs\use-case\lib\site-packages\lime\explanation.py in as_list(self, label, **kwargs)
141 """
142 label_to_use = label if self.mode == "classification" else self.dummy_label
--> 143 ans = self.domain_mapper.map_exp_ids(self.local_exp[label_to_use], **kwargs)
144 ans = [(x[0], float(x[1])) for x in ans]
145 return ans
KeyError: 1 ```
Any idea what is going on here?
keyrerror回溯(最近一次调用)
在里面
---->1[exp.as_pyplot_图(label=1)表示sp_对象sp_解释中的exp]
英寸(.0)
---->1[exp.as_pyplot_图(label=1)表示sp_对象sp_解释中的exp]
~\AppData\Local\Continuum\anaconda3\envs\use case\lib\site packages\lime\explation.py如图所示(self,label,**kwargs)
167 """
168导入matplotlib.pyplot作为plt
-->169 exp=自组装列表(标签=标签,**kwargs)
170图=plt.图()
171 VAL=[x[1]表示exp中的x]
as_列表中的~\AppData\Local\Continuum\anaconda3\envs\use case\lib\site packages\lime\explauration.py(self,label,**kwargs)
141 """
142 label_to_use=标签if self.mode==“分类”else self.dummy_标签
-->143 ans=self.domain\u mapper.map\u exp\u id(self.local\u exp[label\u to\u use],**kwargs)
144 ans=[(x[0],ans中x的浮点(x[1])]
145返回ans
关键错误:1```
知道这是怎么回事吗?
将标签1
更改为0
。
[exp.as\u pyplot\u sp\u解释中exp的图(label=0)
将标签1
更改为0
。
[exp.as_pyplot_figure(label=0)表示sp_obj.sp_解释中的exp]
我在web上的其他示例中发现以下代码运行正常(不是错误),但图形不包含有关权重和标签的信息[exp.as_pyplot_figure(label=exp.available_labels()[0])表示sp_obj.sp_解释中的exp]
我在web上的其他示例中发现了以下代码,这些代码运行正常(这不是错误),但图形中不包含有关权重和标签的信息[exp.as\u pyplot\u figure(label=exp.available\u labels()[0]),用于sp\u obj.sp\u解释中的exp.