shap

使用SHAP(SHapley Additive exPlanations)进行模型可解释性与可说明性分析。此技能适用于解释机器学习模型预测、计算特征重要性、生成SHAP可视化图表(瀑布图、蜂群图、条形图、散点图、力图、热力图)、调试模型、分析模型偏差或公平性、比较模型以及实施可解释人工智能。兼容树模型(XGBoost、LightGBM、随机森林)、深度学习框架(TensorFlow、PyTorch)、线性模型及任何黑盒模型。

安装

热度:13

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=k-dense-ai-scientific-skills-shap&locale=zh&source=copy

SHAP - 机器学习模型可解释性工具

技能概述

SHAP 技能提供基于 Shapley 值的机器学习模型解释能力,帮助您理解任何模型背后的预测逻辑,计算特征重要性,并生成多种可视化图表。

适用场景

  • 模型调试与验证

  • 当您的模型预测结果不符合预期时,使用 SHAP 分析每个特征对预测的贡献,快速定位数据泄露、异常特征或模型错误学习模式。

  • 特征工程优化

  • 通过 SHAP 散点图发现特征与预测结果之间的非线性关系,识别有价值的特征交互,指导特征变换和交互项的创建。

  • 公平性与偏差分析

  • 检测模型是否存在对不同群体的歧视性影响,分析受保护属性(如性别、年龄)是否被模型隐性利用,发现代理特征并实施缓解策略。

    核心功能

  • 多模型类型支持

  • 为树模型(XGBoost、LightGBM、CatBoost、随机森林)提供极速的 TreeExplainer,为深度学习模型(TensorFlow、PyTorch)提供 DeepExplainer,为线性模型提供 LinearExplainer,以及适用于任何黑盒模型的通用 KernelExplainer。

  • 丰富的可视化图表

  • 生成瀑布图(waterfall)展示单个预测的详细分解,蜂群图(beeswarm)显示全局特征重要性分布,条形图(bar)提供简洁的重要性汇总,散点图(scatter)揭示特征与预测的关系,以及力图(force)和热图(heatmap)等多种交互式可视化。

  • 从局部到全局的完整分析

  • 支持解释单个样本的预测原因(局部解释),分析整个数据集的特征重要性模式(全局解释),比较不同群体或模型之间的特征贡献差异,并可将解释服务集成到生产 API 中。

    常见问题

    SHAP 适用于哪些机器学习模型?

    SHAP 几乎支持所有类型的机器学习模型。对于 XGBoost、LightGBM、CatBoost、随机森林等树模型,使用专用的 TreeExplainer 速度最快;对于 TensorFlow、PyTorch、Keras 等深度学习模型,可使用 DeepExplainer 或 GradientExplainer;线性回归和逻辑回归使用 LinearExplainer;对于 SVM 或任何自定义黑盒模型,则使用通用的 KernelExplainer。如果不确定选择哪个解释器,可以使用 shap.Explainer 自动选择最合适的算法。

    SHAP 值的正负是什么意思?

    SHAP 值表示某个特征将预测结果推向哪个方向。正值表示该特征使预测结果高于基准线(baseline),负值表示该特征使预测结果低于基准线。数值的绝对值越大,说明该特征对本次预测的影响越强。例如,一个信用评分模型中,"年收入"的 SHAP 值为 +0.15 表示该用户的收入使其信用评分提高了 0.15,而"逾期记录"的 SHAP 值为 -0.25 表示逾期记录使评分降低了 0.25。所有特征的 SHAP 值加起来,等于最终预测与基准线的差值。

    TreeExplainer 和 KernelExplainer 应该选哪个?

    如果您的模型是树模型(XGBoost、LightGBM、CatBoost、随机森林等),一定要选 TreeExplainer。TreeExplainer 利用树结构的特性,可以在毫秒级完成精确计算,而 KernelExplainer 作为模型无关的通用方法,速度慢几十倍甚至上百倍,且结果还是近似的。只有当您的模型无法使用任何专用解释器时(如 SVM、KNN 或自定义预测函数),才应该使用 KernelExplainer。选择错误解释器是 SHAP 使用中最常见的性能问题。