【问题标题】:xgb.plot.multi.trees What is the meaning of the numbers in the parentheses?xgb.plot.multi.trees 括号里的数字是什么意思?
【发布时间】:2020-08-12 18:48:34
【问题描述】:

这不是树的数量,因为我只训练了 25 棵树。它也不是变量的值。括号中的值的比例很明显,这是没有意义的,因为记录了许多变量。我检查了文档,没有任何解释。有什么想法或其他参考吗?

df1 <- xgb.train(data = X_train_dmat, 
               eta = 0.1,
               max_depth = 5, 
               nround=25, 
               subsample = 0.5,
               colsample_bytree = 0.5,
               booster = 'gbtree',
               objective = 'reg:squarederror',
               nthread = 3
)

xgb.plot.multi.trees(model = df1, 
                     features_keep = 5, 
                     use.names=FALSE,
                     plot_width = NULL,
                     plot_height = NULL,
                     render = TRUE
                     )

【问题讨论】:

    标签: r decision-tree xgboost


    【解决方案1】:

    查看源代码,https://github.com/dmlc/xgboost/blob/master/R-package/R/xgb.plot.multi.trees.R#L94,这是在树中创建节点的部分:

      nodes.dt <- tree.matrix[
            , .(Quality = sum(Quality))
            , by = .(abs.node.position, Feature)
          ][, .(Text = paste0(Feature[1:min(length(Feature), features_keep)],
                              " (",
                              format(Quality[1:min(length(Quality), features_keep)], digits=5),
                              ")") %>%
                       paste0(collapse = "\n"))
            , by = abs.node.position]
    

    具体来说,这是编写这些数字的代码:

    format(Quality[1:min(length(Quality), features_keep)], digits=5)
    

    所以,这些数字显示了每个节点的质量,我认为反映了该节点划分数据的适当程度。自从我处理这些模型以来已经有一段时间了,而且我从来没有精明过,所以我不能确定我的解释。如果您想进一步解释质量的含义,您可以深入研究源代码以弄清楚它是如何计算的。

    【讨论】:

    • 感谢您查看源代码。这可能也不是写的,因为它看起来源代码正在四舍五入/截断为 5 位数字,而在我的图中,有比这更多数字的值。
    • @user2205916 错误。它没有截断。它正在格式化。它会影响小数位数,如果一个数字大于 1e5,那么它只会删除小数。当然是在您的问题中创建这些标签的代码。
    • @user2205916 进一步了解format函数,可以运行这段代码:options(scipen = 999); format(100000, digits = 5); format(100000.23, digits = 5); format(1.23562326, digits = 5)options 只是关闭了科学记数法,因此它的格式与您从包中看到的格式相同。
    猜你喜欢
    • 2013-05-28
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多