shap解释模型特征,多张图保存的实现(要改源码

原始的shap一般是直接show出特征,
需求是保存多张图,做特征变化的对比

直接改shap.summary_plot源码可以实现

函数参数增加save=False,path=False
在summary_plot函数最下面增加
    if save:
        pl.savefig(path)
        pl.close()
        
这里必须要close掉图层,要不然会出现多层叠加的问题

直接使用代码

    explainer = shap.TreeExplainer(model)#模型训练用什么矩阵形状,这里要对应
    shap_values = explainer.shap_values(X_train)  # 传入特征矩阵X,计算SHAP值

    shap.summary_plot(shap_values, X_train, plot_type="bar",max_display=50,show=False,\
                                      save=True,path='./fac_importance/%s.png'%(d))
    
    shap.summary_plot(shap_values, X_train,max_display=50,show=False,\
                      save=True,path='./shap/%s.png'%(d))

在这里插入图片描述
在这里插入图片描述

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

车忻青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值