我试图解释h2o GBM模型所做出的决定。根据想法:https://medium.com/applied-data-science/new-r-package-the-xgboost-explainer-51dd7d1aa211 我想计算每个特征在测试时做出某个决定的贡献。 是否有可能从每个节点获取每个单独的树以及log-odds? 在进行预测时,还需要按模型对每棵树进行路径遍历。
答案 0 :(得分:0)
H2O没有等效的xgboostExplainer包。但是,有一种方法可以获得一些接近的东西。
1)如果你想知道单行/观察采取了什么决策路径,可以使用h2o.predict_leaf_node_assignment(model, frame)
来获取带有叶节点分配的H2OFrame,这将生成如下所示的内容(显示在以下情况下构建的每个树的路径,您可以看到构建了5棵树):
2)您可以使用H2O MOJO来显示单个树木,您可以在构建GBM或XGBoost模型后下载它们,如下所示:
3)在即将发布的版本中,您将能够使用GBM获取每个叶节点的预测值(拉取请求为here)
将所有这些步骤放在一起应该可以让您非常接近获得所需的值,这样您就可以添加它们以满足您的个性化影响。(对于python jupyter笔记本,其中包含有关如何生成叶节点分配和可视化的示例树外观here)