xgboost - 以 json 格式可视化 H2o XGBoost 树,找不到丢失的孩子
问题描述
我正在尝试使用以下命令以 JSON 格式可视化我的 H2O XGBoost 模型:
java -cp h2o-genmodel.jar hex.genmodel.tools.PrintMojo -i XGBoost_model_R_1597776279050_3.zip --tree 1 --format json
上述命令以 JSON 格式输出树结构,如下所示:
"rightChild": {
"nodeNumber": 2,
"weight": 0.0,
"colId": 382,
"colName": "var_2",
"leftward": false,
"isCategorical": false,
"inclusiveNa": false,
"splitValue": 0.195,
"rightChild": {
"nodeNumber": 6,
"weight": 0.0,
"colId": 340,
"colName": "var_6",
"leftward": false,
"isCategorical": false,
"inclusiveNa": true,
"splitValue": 1.0,
"rightChild": {
"nodeNumber": 10,
"weight": 0.0,
"predValue": 0.011794609
},
"leftChild": {
"nodeNumber": 9,
"weight": 0.0,
"predValue": 0.011531689
}
我试图了解如何使用上面的 JSON 为每个节点计算丢失的孩子。可以以 png 格式查看相同的结构,并且节点 var_6 的缺失节点作为左子节点出现。有没有办法通过查看 JSON 来找出丢失的节点?
解决方案
查看leftward
属性 - 这是所谓的“多数方式”,这意味着所有无法明确评估的数据记录(例如,具有缺失值的数据记录)将被发送到那里。
在当前情况下,"leftward": false
应该会导致将缺失值发送到右子节点(节点号 10)。
推荐阅读
- java - Git 是离开 WIP 分支并开始在另一个分支上工作的更好方法
- oracle - 将 Oracle Apex 列设为只读
- aurelia - 当字符串包含引用字符的 HTML 实体时,Aurelia 模板解析错误
- python - 如何使用 python 或 cmd 从 windows 获取连接的 USB 设备列表
- jquery - 限制原始列表中元素的排序
- php - 如何使用 laravel 在我的 api 函数中发送电子邮件
- python - 在自定义层中禁用了 Tensorflow 2 急切执行
- elasticsearch - 在 Elasticsearch 中搜索和匹配多个字段?
- c# - 启动画面不会移动到下一页
- c++ - 在父类中定义子类的子结构