首页»学习  »   正文

深入探索Catboost模型可解释性(下)

在昨天的内容中,我们看到catboost如何帮助我们分析模型,今天我们继续更新,希望能帮助你更好地使用这些工具去开发模型。

传送门:http://www.atyun.com/?p=42039&preview=true

交互

通过这个参数,您可以找到一对特性的强度(两个特性的重要性)。

深入探索Catboost模型可解释性(下)

在输出中,您将得到每对特性的列表。列表将有3个值,第一个值是该对中第一个特性的索引,第二个值是该对中第二个特性的索引,第三个值是该对的特性重要性得分。具体实施请查看嵌入式笔记本。

深入探索Catboost模型可解释性(下)

有趣的是,在单一功能重要性中,前两个功能不一定会成为最强的一对。

笔记本

笔记本中使用的数据集

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

深入探索Catboost模型可解释性(下)

对象重要性

你为什么要知道?

  • 从训练数据中删除最无用的训练对象
  • 将一批新对象按优先级排列,以便根据哪些对象最有帮助进行标记,类似于主动学习。

使用此功能,您可以计算每个对象对测试数据优化指标的影响。正值表示优化指标增加,负值表示优化指标减少。该方法是本文所描述方法的一个实现。这些算法的细节超出了本文的范围。

Catboost对象重要性教程

cb.get对象重要性中有三种更新方法:

  • SinglePoint:最快最不准确的方法
  • TopKLeaves:指定叶数。数值越大,计算越精确,速度越慢
  • AllPoints:最慢最准确的方法

例如,下面的值将方法设置为TopKLeaves,并将叶子的数量限制为3:

TopKLeaves:top=3

模型分析情节

CatBoost最近在其最新更新中启动了此功能。有了这个特性,我们将能够可视化算法是如何分割每个特性的数据的,并查看特性特定的统计信息。更具体地说,我们将能够看到:

  • 每个容器(容器用于连续特征)或类别的平均目标值(目前仅支持OHE特征)
  • 每个容器/类别的平均预测值
  • 每个容器中的对象数
  • 对不同特征值的预测:对于每个对象,特征值都是不同的,因此它会落入某个容器中。然后,该模型根据该特性的新值预测目标,并取一个容器中预测的平均值(由红点给出)。

这个图会给我们提供信息,比如我们的分割有多均匀(我们不希望所有的物体都放在一个容器里),我们的预测是否接近目标(蓝色和橙色的线),红线会告诉我们预测对某个特征有多敏感。

数值特性分析

深入探索Catboost模型可解释性(下)

一组热编码特征分析

深入探索Catboost模型可解释性(下)

感谢您阅读本文。希望下次您能够使用这些工具更好地开发您的模型。

欢迎关注ATYUN官方公众号,商务合作及内容投稿请联系邮箱:bd@atyun.com

发表评论