机器学习模型的局部解释方法与犯罪风险评估的公平性探讨
1. 尝试将 SHAP 用于自然语言处理(NLP)
1.1 SHAP 解释器概述
SHAP 的大多数解释器适用于表格数据。DeepExplainer 可处理文本,但仅限于深度学习模型。有三种解释器可处理图像,包括 KernelExplainer。SHAP 的 KernelExplainer 是一种通用的、真正与模型无关的方法,但它未被推广用于 NLP,原因在于其速度慢,且 NLP 模型通常非常复杂,具有成百甚至上千个特征。不过,在某些情况下,如单词顺序不是关键因素,且有几百个特征,其中前 100 个特征在大多数观测中都存在时,KernelExplainer 仍可使用。
1.2 技术障碍及解决方法
在使用 KernelExplainer 进行 NLP 解释时,需要克服一些技术障碍:
- 预测结果格式问题 :KernelExplainer 期望返回一组预测结果,但 LightGBM 返回两组,分别对应“Not Highly Recommended”和“Highly Recommended”。可通过创建一个 lambda 函数 predict_fn 来解决,该函数包含 predict_proba 函数,仅返回“Highly Recommended”的预测结果。代码如下:
predict_fn = lambda X: lgb_mdl.predict_proba(X)[:,1]
-
<
超级会员免费看
订阅专栏 解锁全文
46

被折叠的 条评论
为什么被折叠?



