【问题标题】:Using a 'gbm' model created in R package 'dismo' with functions in R package 'gbm'使用在 R 包“dismo”中创建的“gbm”模型和 R 包“gbm”中的函数
【发布时间】:2016-01-22 10:50:25
【问题描述】:

这是我不久前问过的previous question 的后续,最近得到了答复。

我用dismo::gbm.step 构建了几个gbm 模型,它们依赖于R 包gbm 中的gbm 拟合函数,以及R 包splines 中的交叉验证工具。

作为我分析的一部分,我想使用 R 中可用的一些图形工具(例如透视图)来可视化数据中的成对交互。 gbmdismo 包都具有检测和建模数据交互的功能。

dismo 中的实现在 Elith 等中进行了解释。 al (2008) 并返回一个统计数据,该统计数据表明模型预测偏离预测变量的线性组合,同时保持所有其他预测变量的均值。

gbm 中的实现使用 Friedman 的 H 统计量 (Friedman & Popescue, 2005),并返回不同的指标,并且也没有设置其他变量。

使用dismo::gbm.interactions 建模和绘制的交互非常棒,并且提供了非常丰富的信息。不过,我也想使用gbm::interact.gbm,部分是为了发表强度,也是为了比较两种方法的结果。

如果我尝试在使用dismo 创建的gbm.object 中运行gbm::interact.gbm,则会返回错误...

"Error in is.factor(data[, x$var.names[j]]) : 
  argument "data" is missing, with no default"

我了解dismo::gmb.step 添加了作者认为对gbm model 有用的额外数据。

我也明白我的问题的答案在源代码的某个地方。

我的问题是……

  1. 是否可以修改在dismo 中创建的gbm 对象以在gbm::gbm.interact 中使用?如果是这样,这将由...完成...

    一个。修改dismo::gbm.step中创建的gbm对象?

    b.修改gbm::interact.gbm的源代码?

    c。做别的事吗?

我将通过源代码尝试自己解决这个问题,如果我在有人回答之前提出解决方案,我会回答我自己的问题。

【问题讨论】:

    标签: r machine-learning gbm


    【解决方案1】:

    gbm::interact.gbm 函数需要数据作为参数interact.gbm <- function(x, data, i.var = 1, n.trees = x$n.trees)

    dismo gbm.objectgbm gbm.object 基本相同,但附加了额外信息,因此我认为更改 gbm.object 不会有帮助。

    【讨论】:

    • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post。 - From Review
    • 没有足够的声誉来发表评论。如果在调用函数时指定了数据,我很确定它会起作用。
    猜你喜欢
    • 2015-09-26
    • 2016-07-16
    • 2020-05-27
    • 2015-07-11
    • 2016-02-24
    • 2014-12-06
    • 2015-06-22
    • 2013-02-28
    • 2017-03-18
    相关资源
    最近更新 更多