SuperAPI AI 工具集

shap

通用与其它

查看项目

更新于 10-15 21:40

技能介绍

用途:SHAP 用于解释机器学习模型的预测,基于 Shapley 值计算特征重要性与归因,回答“模型为何做出该预测”。可用于调试模型行为、验证预测、分析公平性与偏差。

主要能力:支持多种解释器——树模型用 shap.TreeExplainer(快速且精确),深度学习用 shap.DeepExplainer,线性模型用 shap.LinearExplainer,通用模型用 shap.KernelExplainer,也可用 shap.Explainer 自动选择。计算后可通过 shap_values.values、base_values、data 访问归因值、基线与原始特征值。可视化包括全局重要性的 beeswarm 与 bar,单样本解释的 waterfall 与 force,特征关系的 scatter(可加交互着色),以及多样本 heatmap。

使用方式:先训练模型,再创建解释器并计算,例如 explainer = shap.TreeExplainer(model);shap_values = explainer(X_test);随后调用 shap.plots.beeswarm(shap_values) 等绘图。可比较不同群体的重要性,或对误分类样本用 waterfall 排查原因。

解读:正 SHAP 值表示该特征推高预测,负值表示拉低,绝对值代表影响强度,所有 SHAP 值之和等于预测值减基线。

最佳实践:树模型优先用 TreeExplainer;KernelExplainer 建议使用 100–1000 个背景样本;先看全局(beeswarm)再看局部(waterfall);注意模型输出类型(概率还是对数几率);结合领域知识验证。

限制:资料未提供具体收费、平台支持范围与性能基准,暂未提供。文档见 https://shap.readthedocs.io/,论文为 Lundberg & Lee (2017)。