【问题标题】:Export xgboost tree plot to image in R将 xgboost 树图导出到 R 中的图像
【发布时间】:2018-05-30 16:30:34
【问题描述】:

我正在尝试通过树状图了解 xgb 模型的树 - xgb.plot.tree().

不幸的是,剧情太拥挤了,R 会话变得太慢了。因此,为了更好地放大和分析树,我想将其导出为高分辨率图像。

使用以下代码,我只得到一个空白的 .png 图像。

> png("c:\\path\\tree.png", width = 8000, height = 6000)
> xgb.plot.tree(features, xgb_model, n_first_tree = 2)
> dev.off()
null device 
          1

如何将绘图导出为 png?

【问题讨论】:

    标签: r xgboost


    【解决方案1】:
    gr <- xgb.plot.tree(model=xbg_model, trees=0:1, render=FALSE)
    library(DiagrammeR)
    export_graph(gr, 'tree.pdf', width=3000, height=4000)
    

    export_graph 依赖于其他一些包。它会通过错误消息通知您这些软件包是否丢失并需要安装。

    请注意,recent update to xgb.plot.tree 中引入了一些新参数:

    • trees 允许选择任何特定的树或一组树来绘制。仅此一项就可以帮助您缓解缓慢和拥挤。
    • render 设置为 FALSE 时,它允许获取类 dgr_graph 的 DiagrammeR 对象,该对象可以进一步以各种格式呈现或导出。

    【讨论】:

      【解决方案2】:

      以下是如何将此图保存到文件的示例。 请注意,要使export_graph 工作,还必须安装DiagrammeRsvgrsvg 软件包。 library(DiagrammeR) gr <- xgb.plot.tree(model=bst, trees=0:1, render=FALSE) export_graph(gr, 'tree.pdf', width=1500, height=1900) export_graph(gr, 'tree.png', width=1500, height=1900)

      【讨论】:

        猜你喜欢
        • 2012-04-22
        • 1970-01-01
        • 2018-09-07
        • 2016-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-15
        • 1970-01-01
        相关资源
        最近更新 更多