[编辑:讨论移至 stat.stackexchange.com,链接在这里]
我正在利用 Python 包lime
并shap
解释一个基本的、经过训练的模型对新的表格数据所做的单个(测试集)预测。WLOG,两种方法产生的解释都不符合用户的直觉。
例如,当在医疗保健环境中利用这些方法时,他们可能会将合并症(一种经常与感兴趣的结果疾病同时发生的疾病)列为降低患者发生不良事件风险的因素。
直觉上,这种行为是不正确的。例如,我们不应该看到这会history of heart attacks
降低risk of adverse events
. 我们可能会看到这些不一致的一些原因是什么?
我的一些想法
- 类标签不平衡:尝试平衡数据集,没有解决问题
- LIME 的内核宽度:正在调整这个,但粗略地说,没有任何好处
- 与训练数据的关系:对于表格数据,两者都
lime
需要shap
训练数据集作为输入来构建解释器类。如果存在诸如与结果history of heart attacks
相关联的特征的实例,则no adverse event
可以说,这些实例会“混淆”方法。但是,我不确定我的直觉是否正确。 - 我的理解错误:这里的直觉可能存在我错过的细微差别。具体来说,我试图确保我正确理解生成的解释和用于构建它们的训练数据集之间的关系。