如下图,SHAP支持模型解释性,可用于抽取特征对结果的贡献。
案例:
1、数据集:
# dataset:http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_diabetes.html
# diabetes 是一个关于糖尿病的数据集, 该数据集包括442个病人的生理数据及一年以后的病情发展情况。
# 数据集中的特征值总共10项, 如下:
# 年龄
# 性别
#体质指数
#血压
#s1,s2,s3,s4,s4,s6 (六种血清的化验数据)
#10个t特征每个都做了均值中心化处理,然后又用标准差乘以个体数量调整了数值范围。验证就会发现任何一列的所有数值平方和为1.
2、代码:
#https://github.com/slundberg/shap
#https://slundberg.github.io/shap/notebooks/plots/decision_plot.html
import lightgbm as lgb
import shap
# train XGBoost model
diabetes=datasets.load_diabetes()
x_train,x_test,y_train,y_test=tr