用途:用合作博弈论的 Shapley 值解释机器学习模型预测,量化每个特征对单条预测(局部)和整体数据集(全局)的贡献,具备可加性与一致性保证,可用于调试模型、排查数据泄漏、做公平性分析与特征重要性比较。
主要能力:按模型类型选择解释器——TreeExplainer(树模型,快且精确)、LinearExplainer(线性模型,即时精确)、DeepExplainer/GradientExplainer(深度学习,近似)、KernelExplainer/PermutationExplainer(任意黑盒,较慢)、shap.Explainer(自动选择)。计算返回 Explanation 对象,含 .values、.base_values、.data,满足 prediction = base_value + sum(SHAP values)。可视化包括 beeswarm、bar(全局重要性)、waterfall、force(单条预测)、scatter、heatmap、decision 等。TreeExplainer 还支持交互值。注意模型输出类型:树分类器默认 log-odds,可用 model_output="probability"。
用法:安装 pip install shap matplotlib,可选 xgboost lightgbm tensorflow torch。典型流程为选解释器 → explainer(X_test) → 可视化,如 shap.TreeExplainer(model) 后调用 shap.plots.beeswarm / waterfall。关键参数包括 feature_perturbation、model_output、nsamples、max_display。背景数据建议 100-500 个代表性样本,可用 shap.kmeans(X, 50)。
适用场景:树模型解释(优于置换重要性/Gini)、表格与结构化数据、模型调试、公平性分析、生产缓存(joblib)与 MLflow 集成。
限制:SHAP 反映关联而非因果;相关特征会分摊重要性,需用 interventional 或特征聚类;KernelExplainer 较慢且有采样方差;DeepExplainer 需足够背景数据;图片任务可考虑 GradCAM。部分详细参考文档(explainers.md、plots.md、workflows.md)未迁移,仅内联覆盖核心内容。