"); //-->
本文示例项目沿用之前文章的数据:一文梳理金融风控建模全流程(Python))。
一、树模型的解释性
集成学习树模型因为其强大的非线性能力及解释性,在表格类数据挖掘等任务中应用频繁且表现优异。
模型解释性对于某些领域(如金融风控)是极为看重的,对于树模型的解释性,我们常常可以通过输出树模型的结构或使用shap等解释性框架的方法:
graphviz 输出树结构
# 需要先安装https://graphviz.org/download/import osos.environ["PATH"] += os.pathsep + 'D:/Program Files/Graphviz/bin/' # 安装路径
for k in range(n_estimators): #遍历n_estimators棵树的结构 ax = lightgbm.plot_tree(lgb, tree_index=k, figsize=(30,20), show_info=['split_gain','internal_value','internal_count','internal_weight','leaf_count','leaf_weight','data_percentage'])
plt.show()
输出树的决策路径是很直接的方法,但对于大规模(树的数目>3基本就比较绕了)的集成树模型来说,决策就太过于复杂了,最终决策要每棵树累加起来,很难理解。。(相关树的可解释工作,可参考如下论文:https://www.cs.sjtu.edu.cn/~kzhu/papers/kzhu-infocode.pdf)
接下介绍下常用的几种框架的方法辅助去解释模型:
shap框架解释性
SHAP基于Shapley值,Shapley值是经济学家Lloyd Shapley提出的博弈论概念。它的核心思想是计算特征对模型输出的边际贡献,再从全局和局部两个层面对“黑盒模型”进行解释。如下几行代码就可以展示该模型的变量对于决策的影响,以Insterest历史利率为例,利率特征值越高(蓝色为低,红色为高),对应shap值越高,说明决策结果越趋近1(在本例金融风控项目里面也就是数值越大,越容易违约)
## 本文代码请见 https://github.com/aialgorithm/Blog/tree/master/projects/%E6%B5%B7%E5%A4%96%E9%87%91%E8%9E%8D%E9%A3%8E%E6%8E%A7%E5%AE%9E%E8%B7%B5
### 需要先pip install shapimport shap
explainer = shap.TreeExplainer(lgb)shap_values = explainer.shap_values(pd.concat([train_x,test_x]))shap.summary_plot(shap_values[1], pd.concat([train_x,test_x]),max_display=5,plot_size=(5,5)) #特征重要性可视化
其他模型可解释性框架
LIME
在可解释性领域,最早出名的方法之一是LIME。它可以帮助解释机器学习模型正在学习什么以及为什么他们以某种方式预测。Lime目前支持对表格的数据,文本分类器和图像分类器的解释。
知道为什么模型会以这种方式进行预测对于调整算法是至关重要的。借助LIME的解释,能够理解为什么模型以这种方式运行。如果模型没有按照计划运行,那么很可能在数据准备阶段就犯了错误。
Shapash
“ Shapash是一个使机器学习对每个人都可以进行解释和理解Python库。Shapash提供了几种类型的可视化,显示了每个人都能理解的明确标签。数据科学家可以更轻松地理解他们的模型并分享结果。最终用户可以使用最标准的摘要来理解模型是如何做出判断的。”
Shapash库可以生成交互式仪表盘,并收集了许多可视化图表。与外形/石灰解释性有关。它可以使用SHAP/Lime作为后端,也就是说它只提供了更好看的图表。
使用Shapash构建特征贡献图
InterpretML
InterpretML是一个开源的Python包,它向研究人员提供机器学习可解释性算法。InterpretML支持训练可解释模型(glassbox),以及解释现有的ML管道(blackbox)。
ELI5
ELI5是一个可以帮助调试机器学习分类器并解释它们的预测的Python库。目前支持以下机器学习框架:scikit-learn、XGBoost、LightGBM CatBoost、Keras。
ELI5有两种主要的方法来解释分类或回归模型:检查模型参数并说明模型是如何全局工作的;检查模型的单个预测并说明什么模型会做出这样的决定。
OmniXAI
OmniXAI (Omni explained AI的简称),是Salesforce最近开发并开源的Python库。它提供全方位可解释的人工智能和可解释的机器学习能力来解决实践中机器学习模型在产生中需要判断的几个问题。对于需要在ML过程的各个阶段解释各种类型的数据、模型和解释技术的数据科学家、ML研究人员,OmniXAI希望提供一个一站式的综合库,使可解释的AI变得简单。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
WTC-AI型太阳能热水器电路图
基于Microchip MCU的AI/ML培训教程3
尼吉康的事业介绍
基于Microchip MCU的AI/ML培训教程1
AI竞争进入下半场:从“卷参数”到“卷单价”
AI 驱动估值飙升:光通信半导体企业市值暴涨
EEPW2018年3月刊(工业物联网)
iCAN-4017 AI功能模块
继上次海联达Ai-ap100拆机之电源改造
EEPW2018年6月刊(5G)
电子元件培训教材
赋能边缘端对话式人工智能
万家乐JSYZ5-AI燃气热水器电路图
英伟达CFO:我们早就知道内存大涨价要来了
紧凑型集成连接器模块抑制噪声 为人工智能应用实现以太网供电
Nigel AI赋能LabVIEW,NI用AI重塑测试新边界
基于VisitionX制造智能眼镜
基于Ai-WB2-12F与Rd-04的雷达检测系统
基于Microchip MCU的AI/ML培训教程2
人工智能是如何帮助阻止造假者的?
海联达(Aigale)Ai-HD1 无线全高清套件拆解
瑞萨电子AI单元解决方案成功提高GE医疗(日本)日野工厂的生产力
WTC-AI太阳能热水器电路图
CSR8670CSR8675智能语音Alexa蓝牙方案开发
AI热潮引发多层陶瓷电容MLCC供应短缺
PowiGaN for AI Data Centers: Unmatched Power Density and Reliability
爱立信携手 Net Feasa 布局海事网络 融合公网级通信与智能体 AI 赋能航运
GPU:面临工作负载转变的高吞吐架构
研华 COMPUTEX 首度整合全球伙伴大会 强化全球边缘 AI 生态系统联结
释说芯语16:硬科技:构建企业未来之路(附PPT)