我正在看这个答案来可视化H2O中的梯度增强树模型,它说GBM上的方法也可以应用于XGBoost: Finding contribution by each feature into making particular prediction by h2o ensemble model
http://docs.h2o.ai/h2o/latest-stable/h2o-docs/productionizing.html
但是当我尝试使用它在H2O XGBoost MOJO上提到的方法时,它失败了。
我查看了hex.genmodel.tools.PrintMojo:https://github.com/h2oai/h2o-3/blob/master/h2o-genmodel/src/main/java/hex/genmodel/tools/PrintMojo.java的源代码
它似乎只适用于randomforest和GBM模型,但不适用于XGBoost模型。
有谁知道如何在H2O XGBoost模型中可视化树木?谢谢!
这是H2O目前正在添加的功能,您可以在此处跟踪其进度:https://0xdata.atlassian.net/browse/PUBDEV-5743。
请注意,在票证中,有关如何使用本机xgboost可视化树的评论中有建议。
我终于找到了解决方案,似乎没有为XGBoost记录,但它确实与其他树相关算法相同。
只需运行此命令即可从您的模型生成前50棵树:
for tn in {1..50}
do
java -cp h2o-3.24.0.1/h2o.jar hex.genmodel.tools.PrintMojo --tree $tn -i <your mojo model> -o XGBOOST_$tn.gv
dot -Tpng XGBOOST_$tn.gv -o xgboost_$tn.png
done