风控模型黑箱可解释,试下这个方法来演示

模型的开发,目前在互金领域场景中因为变量多,开发周期短,目前用得最多的就是XGB、LGB这类的机器学习模型。
比如我们之前跟大家输出的关于个人信贷反欺诈评分卡的开发内容里,我们用的就是lightgbm来建模的,相关的操作细节如下:
在这里插入图片描述

在这里插入图片描述

关于这一类机器学习模型,虽然说有黑箱的内容在里面,但常规上我们还是可以用特征重要性,也就是feature_importance来查看特征对模型重要度的贡献:
在这里插入图片描述

                                                   【图:绘制lgb模型的特征重要性的排序图】

关于模型特征可解释性的的内容,除了如以上提供的模型都有importance这一接口外,目前常用的还有SHAP这一个模型可解释性的内容,今天我们跟大家讲讲这个内容,而且还会实操一个只能用SHAP来演绎模型特征重要性的算法。
一.SHAP介绍
可解释机器学习在这几年慢慢成为了机器学习的重要研究方向。作为数据科学家需要防止模型存在偏见,且帮助决策者理解如何正确地使用我们的模型。越是严苛的场景,越需要模型提供证明它们是如何运作且避免错误的证据
关于模型解释性,除了线性模型和决策树这种天生就有很好解释性的模型意外,sklean中有很多模型都有importance这一接口,可以查看特征的重要性。如这里提到的特征重要性的内容:
在这里插入图片描述

关于特征的重要性,比如上面我们用xgboost这种集成模型时是用feature_importance方法的。那对于某些算法,比如异常检测中的孤立森林算法,只能用shap value来表达。

二.如何实现SHAP
实现SHAP,可以直接调用SHAP模块就能实现。本次在实操过程中,我们用之前跟大家介绍过的孤立森林这个算法,来特别实现,因为孤立森林接口直接调不出feature_importance的。

如上所述,shap是Python开发的一个"模型解释"包,可以解释任何机器学习模型的输出。其名称来源于SHapley Additive exPlanation,在合作博弈论的启发下shap构建一个加性的解释模型,所有的特征都视为“贡献者”。对于每个预测样本,模型都产生一个预测值,shap value就是该样本中每个特征所分配到的数值。
在这里插入图片描述

Python中shap值的计算由shap这个package实现,下面我们对训练出的base_iforest模型,计算其shap值。先引用package并且获得解释器explainer,再获取各个样本的shap值,然后调用summary_plot绘制重要性排序图,可以看到绘制出的图表类似xgboost的feature_importance图,shap value可理解为一个特征对目标变量影响程度的绝对值的均值作为这个特征的重要性。
在这里插入图片描述

在这里插入图片描述

关于本文所提及的机器学习模型相关的数据集跟代码实操内容,可以同步至知识星球后台,查看完整版本内容,欢迎星球同学移步到知识星球查收完整内容:
在这里插入图片描述

~原创文章

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值