← Notes
机器学习2026年6月12日1 分钟阅读
SHAP 值解释机器学习模型原理与实践
SHAP可解释AILightGBM
什么是 SHAP
SHAP(SHapley Additive exPlanations)是一种基于博弈论的模型解释方法,用于量化每个特征对预测结果的贡献度。
核心概念
- SHAP 值:某特征将预测值从基线(平均预测值)推高或拉低的幅度
- 基线值:所有样本预测值的平均
- 正值:该特征使预测值升高(增加巨大儿风险)
- 负值:该特征使预测值降低
Python 实现
import shap
import lightgbm as lgb
# 训练模型
model = lgb.LGBMClassifier(**best_params)
model.fit(X_train, y_train)
# 计算 SHAP 值
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X_test)
# 绘制 summary plot
shap.summary_plot(shap_values[1], X_test, feature_names=feature_names)
在巨大儿预测中的应用
SHAP 分析显示,对巨大儿预测贡献最大的特征依次为:
- 胎儿腹围(AC)
- 孕前 BMI
- 孕 28 周血糖
- 孕期体重增长
- 股骨长(FL)
参考资料
- SHAP 官方文档
- Lundberg, S. M., & Lee, S. I. (2017). A unified approach to interpreting model predictions.