解释机器学习模型。 第二部分

大家好 距离机器学习课程开始还有几天的时间。 鉴于课程开始,我们准备了有用的翻译 ,我们的学生和所有博客读者都将感兴趣。 今天,我们与您分享此翻译的最后一部分。





部分依赖图


部分依赖图(部分依赖图或PDP,PD图)显示了一个或两个特征对机器学习模型的预测结果的影响不显着( JH Friedman 2001 )。 PDP可以使用1D或2D图形显示目标和所选要素之间的关系。

如何运作?


在训练模型之后,也会计算PDP。 在我们上面讨论的足球问题中,有很多迹象,例如传球,助攻进球,进球等。 让我们从看一行开始。 假设这支队伍是一支拥有50%的机会出球的球队,该助攻100次,得分10次,进球数1次。

我们通过训练模型并计算团队中有一名球员获得“游戏人”(这是我们的目标变量)的可能性来采取行动。 然后,我们选择变量并不断更改其值。 例如,假设团队得分为1球,2球,3球等,我们将计算结果。 所有这些值都反映在图表中,最终,我们得到了预测结果与得分目标之间的依存关系的图表。

Python中用于构建PDP的库称为python部分依赖图工具箱,或简称为PDPbox


from matplotlib import pyplot as plt from pdpbox import pdp, get_dataset, info_plots # Create the data that we will plot pdp_goals = pdp.pdp_isolate(model=my_model, dataset=val_X, model_features=feature_names, feature='Goal Scored') # plot it pdp.pdp_plot(pdp_goals, 'Goal Scored') plt.show() 


口译


  • Y轴表示由于原始值或最左侧值中的预测值而引起的预测值变化。
  • 蓝色区域表示置信区间。
  • 对于“进球得分”图,我们看到进球得分增加了获得“游戏人物”奖的可能性,但是一段时间后,饱和发生了。


我们还可以使用2D图形同时可视化两个特征的部分依赖关系。



练习

SHAP值


SHAP代表SHapley Additive解释。 该方法有助于将预测分为多个部分,以揭示每个特征的重要性。 它基于Vector Shapley(游戏邦注:一种在游戏理论中使用的原理,用于确定每个玩家在联合游戏中为成功取得成功做出的贡献(https://medium.com/civis-analytics/demystifying-black-box-models-with-shap-价值分析3e20b536fc80)。 在准确性和可解释性之间寻求折衷通常可能是一个困难的平衡,但是SHAP值可以同时提供两者。

如何运作?


再次,让我们回到足球的例子中,我们要预测一支球队拥有赢得“游戏人”奖的球员的可能性。 SHAP-值解释了某个特征的某个值的影响,如果该特征具有某个基本值,则与我们做出的预测相比较。

SHAP-使用Shap库计算值,可以从PyPI或conda轻松安装。


SHAP-值显示此特定功能在多大程度上改变了我们的预测(与使用该特征的一些基本值进行此预测相比)。 假设我们想知道如果团队进球数为3个而不是固定的基本金额,那将会是什么样的预测。 如果我们可以回答此问题,则可以对其他标志执行相同的步骤,如下所示:

 sum(SHAP values for all features) = pred_for_team - pred_for_baseline_values 


因此,预测可以用下图的形式表示:


这是全局的链接

口译


上面的示例显示了特征,每个特征都有助于模型输出以基本值(使用我们之前传递给它的训练数据集的模型的平均统计输出)向最终模型输出的移动。 上面的预测表示红色的标志,下面的表示预测准确性的标志。

  • 此处的基本值为0.4979,而预测值为0.7。
  • Goal Scores = 2时,该特征对改善预测影响最大,而
  • ball possession属性具有降低最终预测的最大作用。


练习


SHAP-值具有比我在这里提到的要深得多的理论依据。 为了更好地理解该问题,请点击链接

高级使用SHAP值


聚合多个SHAP值将有助于形成更详细的模型视图。

  • SHAP摘要图


为了了解哪些特征对于模型最重要,我们可以为每个特征和每个样本建立SHAP值。 摘要图显示了哪些特征最重要,以及它们对数据集的影响范围。



对于每个点:

  • 垂直排列显示了它所反映的符号。
  • 颜色表示此对象对于此数据集字符串是高度显着还是弱显着;
  • 水平排列显示此功能的值的影响是否导致了更准确的预测。


左上角的圆点表示球队取得了几个进球,但成功预测的可能性降低了0.25。

  • SHAP贡献图


尽管SHAP摘要图提供了每个特性的概述,但是SHAP依赖图显示了模型输出如何依赖特性值。 SHAP贡献依赖性图提供了类似的PDP见解,但增加了更多细节。


存款依赖表

上面显示的图形表明,剑的存在增加了球队获得报酬的机会。 但是如果一支球队只进球,那么这种趋势正在改变,因为裁判可以决定球队球员保持球的时间太长而进球数太少。

练习

结论


机器学习不再是一个黑匣子。 如果我们无法向他人解释她的工作成果,那么好的模型有什么用? 可解释性与模型的质量一样重要。 为了获得认可,机器学习系统必须提供对其决策的清晰说明。 正如爱因斯坦(Albert Einstein)所说:“如果您无法用简单的语言解释某些内容,那么您将无法理解。”

资料来源:

  • “可解释的机器学习:解释黑匣子模型的指南。” 克里斯多夫·莫纳尔
  • Kaggle的机器学习可解释性微型课程


阅读第一部分

Source: https://habr.com/ru/post/zh-CN465329/


All Articles