如何用XGBoost入门可解释机器学习?( 四 )


我们可以停下来将此图展示给老板 , 但这里咱们来更深入地研究其中一些特征 。 我们可以通过绘制年龄SHAP值(log odds的变化)与年龄特征值的关系来实现:
如何用XGBoost入门可解释机器学习?
本文插图
图:y轴是年龄特征改变多少每年赚取5万美元以上的log odds 。 x轴是客户的年龄 。 每个点代表数据集中的一个客户 。
在这里 , 我们看到了年龄对对收入潜力的明显影响 。 请注意 , 与传统的部分依赖图(其显示当更改特征值时的平均模型输出)不同 , 这些SHAP依赖图显示了相互影响 。 即使数据集中的许多人是20岁 , 但年龄对他们的预测的影响程度却有所不同 , 正如图中20岁时点的垂直分散所示 。 这意味着其他特征正在影响年龄的重要性 。 为了了解可能是什么特征在影响 , 我们用受教育的年限给点涂上颜色 , 并看到高水平的教育会降低20岁时的年龄影响 , 而在30岁时会提高影响:
如何用XGBoost入门可解释机器学习?
本文插图
图:y轴是年龄特征改变多少每年赚取5万美元以上的log odds 。 x轴是客户的年龄 。 Education-Num是客户已接受的教育年限 。
如果我们对每周的工作小时数做另一个依赖图 , 我们会发现 , 多投入时间工作的好处在每周约50个小时时达到瓶颈 , 而如果你已婚 , 则额外工作不太可能代表更高收入:
如何用XGBoost入门可解释机器学习?
本文插图
图:每周工作时间与工作时间数对收入潜力的影响 。
解释你自己的模型
这篇文章整个分析过程旨在模拟你在设计和部署自己的模型时可能要经历的过程 。 shap包很容易通过pip进行安装 , 我们希望它可以帮助你放心地探索模型 。 它不仅包含本文涉及的内容 , 还包括SHAP交互值 , 模型不可知的SHAP值估算 , 以及其他可视化 。 还有很多notebooks来展示在各种有趣的数据集上的各种功能 。 例如 , 你可以在一个notebook中根据体检报告数据来分析你将来最可能的死亡原因 , 这个notebook解释了一个XGBoost死亡率模型 。 对于Python以外的其他语言 , Tree SHAP也已直接合并到核心XGBoost和LightGBM软件包中 。
原文标题:
Interpretable Machine Learning with XGBoost
原文链接:
https://towardsdatascience.com/interpretable-machine-learning-with-xgboost-9ec80d148d27
编辑:晏斓辉
译者简介
如何用XGBoost入门可解释机器学习?
本文插图
和中华 , 留德软件工程硕士 。 由于对机器学习感兴趣 , 硕士论文选择了利用遗传算法思想改进传统kmeans 。 目前在杭州进行大数据相关实践 。 加入数据派THU希望为IT同行们尽自己一份绵薄之力 , 也希望结交许多志趣相投的小伙伴 。
——END——
想要获得更多数据科学领域相关动态 , 诚邀关注清华-青岛数据科学研究院官方微信公众平台“ 数据派THU ” 。 欢迎大家评论区讨论和留言~