【问题标题】:gbm.step error: Error: Must subset columns with a valid subscript vectorgbm.step 错误:错误:必须使用有效的下标向量子集列
【发布时间】:2021-02-02 14:35:23
【问题描述】:

我正在尝试使用 gbm.step 在 R 中创建增强回归树。我有 470 个观察值和 20 个预测变量。我得到的完整错误是错误:必须使用有效的下标向量对列进行子集化。 i 逻辑下标必须与索引输入的大小相匹配。 x 输入的大小为 1,但下标 model.mask 的大小为 470。

我尝试运行以下代码:

parrotfish.tc5.lr01 <- gbm.step(data=fd, 
gbm.x = c(2:22),
gbm.y = 1,
family = "gaussian",
tree.complexity = 5,
learning.rate = 0.01,
bag.fraction = 0.5,
ZI= FALSE)

【问题讨论】:

    标签: r gbm


    【解决方案1】:

    一个示例数据框会很有帮助。使用给定的代码,您将 1:22 的组合列表传递给 gbm 的 x 中的值列表。将其更改为 2:22,这是输入数据帧的索引。试试这个

    parrotfish.tc5.lr01 <- gbm.step(data=fd, 
    gbm.x = c(2:22),
    gbm.y = 1,
    family = "gaussian",
    tree.complexity = 5,
    learning.rate = 0.01,
    bag.fraction = 0.5,
    ZI= FALSE)
    

    【讨论】:

      【解决方案2】:

      我发现了我的问题。数据(我的代码中的 fd)在需要位于数据帧中时位于 tibble 中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-25
        • 2021-11-27
        • 1970-01-01
        • 1970-01-01
        • 2013-03-15
        • 1970-01-01
        相关资源
        最近更新 更多