【问题标题】:Finding contribution by each feature into making particular prediction by h2o ensemble model通过 h2o 集成模型找到每个特征对做出特定预测的贡献
【发布时间】:2018-08-01 02:36:45
【问题描述】:

我试图解释 h2o GBM 模型做出的决定。基于想法:https://medium.com/applied-data-science/new-r-package-the-xgboost-explainer-51dd7d1aa211 我想计算每个功能对在测试时做出特定决定的贡献。 是否可以从 ensable 中获取每棵单独的树以及每个节点的对数赔率? 在进行预测时,还需要按模型对每棵树进行路径遍历。

【问题讨论】:

  • 请编辑您的问题,现在您开始指的是 GLM,而您的意思是 GBM。
  • 快速说明,有关与 h2o 相关的可解释性技术的更多信息,请参阅github.com/h2oai/mli-resources

标签: decision-tree h2o ensemble-learning


【解决方案1】:

H2O 没有等效的 xgboostExplainer 包。但是,有一种方法可以接近。

1) 如果您想知道单行/观察所采用的决策路径,您可以使用 h2o.predict_leaf_node_assignment(model, frame) 获取带有叶节点分配的 H2OFrame,这将生成如下所示的内容(显示路径在以下情况下构建的每棵树,您可以看到构建了 5 棵树):

2) 您可以使用 H2O 的 MOJO 可视化单个树,您可以在构建 GBM 或 XGBoost 模型后下载它,如下所示:

3) 在即将发布的版本中,您将能够使用 GBM 获取每个叶节点的预测值(对此的拉取请求是 here

将所有这些步骤放在一起应该可以让您非常接近获得所需的值,这样您就可以将它们添加到您的个人功能影响中。(对于一个 python jupyter 笔记本,其中包含有关如何生成叶节点分配和可视化的示例树的样子here)

【讨论】:

  • 在第 3 步中,我们得到叶节点的预测值。我不清楚如何从非叶节点获得贡献。进行预测时沿路径遍历的节点。
  • 是的,这是真的,现在您只能获得每棵树的叶节点内的预测值。我在您的原始帖子下添加了一条评论,并考虑了其他 mli 技术。
猜你喜欢
  • 2011-08-15
  • 2016-05-16
  • 2015-02-13
  • 2020-10-18
  • 2021-11-21
  • 1970-01-01
  • 2022-11-23
  • 2017-06-24
  • 1970-01-01
相关资源
最近更新 更多