问题标签 [gbm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4260 浏览

r - GBM 规则生成 - 编码建议

我使用 R 包 GBM 作为预测建模的首选。这个算法有很多很棒的东西,但一个“坏”是我不能轻易地使用模型代码来对 R 之外的新数据进行评分。我想编写可以在 SAS 或其他系统中使用的代码(我将从SAS(无法访问 IML))。

假设我有以下数据集(来自 GBM 手册)和模型代码:

pretty.gbm.tree现在我可以看到使用如下的单个树

产生

手册页 18 显示以下内容:

在此处输入图像描述

根据手册,第一次拆分发生在第三个变量(在此输出中为零),即gbm1$var.names[3]“X3”。变量是有序因子。

因此,拆分为 1.5,这意味着值“d 和 c” levels[[3]][1:2.5](也是从零开始的)拆分到左侧节点,其他节点拆分到levels[[3]][3:4]右侧。

接下来,该规则gbm1$var.names[2]在索引为 1 的行中继续拆分,如 SplitVar=1 所示。

有没有人写过任何东西来遍历这个数据结构(对于每棵树),构建规则,例如:

“如果 X3 在 ('d','c') 和 X2<1.0309565491 和 X3 在 ('d') 那么 scoreTreeOne= -0.0102671518”

这就是我认为这棵树的第一条规则的含义。

或者有任何建议如何最好地做到这一点?

0 投票
2 回答
22266 浏览

r - 使用 caret 包找到 GBM 的最佳参数

我正在使用 R GBM 包来增强对一些尺寸为 10,000 X 932 的生物数据进行回归,我想知道 GBM 包的最佳参数设置是什么,尤其是(n.trees、shrinkage、interaction.depth 和 n.trees、shrinkage、interaction.depth 和 n. minobsinnode) 网上搜索的时候发现R上的CARET包可以找到这样的参数设置。但是,我很难将 Caret 包与 GBM 包一起使用,所以我只想知道如何使用 caret 来找到前面提到的参数的最佳组合?我知道这似乎是一个非常典型的问题,但是我阅读了插入符号手册并且仍然难以将插入符号与 gbm 集成,特别是因为我对这两个软件包都很陌生

0 投票
2 回答
3112 浏览

r - R caret / gbm 代码无法预测:dim(X) 必须具有正长度

我正在尝试使用插入符号来找到 gbm 模型的最佳参数。此代码与我在其他数据集上使用的代码相同,无法找出错误。

它似乎可以运行模型,但无法创建预测。

这是完整的代码:

有什么建议么?

编辑:我正在使用gbm 2.1caret 5.16.24

0 投票
2 回答
7490 浏览

r - GBM 多项式分布,如何使用 predict() 得到预测类?

我正在使用gbmR 包中的多项分布。当我使用该predict函数时,我得到一系列值:

但我想获得每个班级发生的概率。如何恢复概率?谢谢你。

0 投票
2 回答
14232 浏览

r - gbm 函数中的下标越界

我有一个奇怪的问题。我已经在我的笔记本电脑上成功地运行了这段代码,但是当我首先尝试在另一台机器上运行它时,我得到了这个警告 Distribution not specified,假设 bernoulli ...,我期望但后来我得到了这个错误: Error in object$var.levels[[i]] : subscript out of bounds

有人可以帮忙吗?数据结构完全相同,相同的代码,相同的 R。我什至没有在这里使用下标。

编辑:回溯()

因为我将保存的 R 工作区移动到另一台机器,它会不会有事可做?

编辑 2:好的,所以我已经更新了代码正在运行的机器上的 gbm 包,现在我得到了同样的错误。所以在这一点上,我认为旧的 gbm 包可能没有这个检查,或者新版本有一些问题。我对gbm的理解不够好说。

0 投票
1 回答
2218 浏览

r - 部分依赖图和梯度提升(GBM 包)

是否可以绘制部分依赖图以显示类概率并估计GBM模型的预测变量的影响?类似于partialPlotfrom randomForestpackage 的东西。

在此处输入图像描述

根据这篇文章,使用 gbm 可以进行部分绘图。

在此先感谢您的帮助。

0 投票
2 回答
1689 浏览

r - R gbm() 函数 - RAM 未释放?内存泄漏?

我正在为多个加法多项式模型运行 gbm() 函数,每个模型在一个大型数据集上具有 6 个响应类别(每个模型约 0.5-1 条线)。模型是这样的(几乎是默认值)。

Y是一个有6个类别的因子,解释变量是度量和因子。data是一个data.table。这段代码运行良好。预测不错。完成后,我保存预测并使用以下命令清理工作区:rm(list=ls(all=TRUE))并另外运行gc(),但它不会释放内存。我希望在清理所有工作区时,我的内存使用量应该与 R 会话开始时大致相同。

在我的具体情况下,加载数据后的 RAM 使用量约为 1.5GB。拟合模型后,它在我的电脑的极限处约为 14GB。清理工作区后,它的大小约为 12GB。目前对我来说唯一的解决方案是重新启动整个 R 会话,重新加载数据并运行下一个模型。

有没有解决方案,这样我就不必一直重新启动会话?

非常感谢!

0 投票
1 回答
2053 浏览

r - `train.error` 对 gbm 的实际代表是什么?

考虑下面的简短 R 脚本。似乎这boost.hitters$train.error与训练集的原始残差或平方误差都不匹配。

我根本找不到文档train.error,所以我想知道是否有人知道train.error这里真正代表什么以及它是如何计算的?

输出:

0 投票
1 回答
98 浏览

r - 用负数表示一个类,用于 R 中的 GBM 训练

我已经生成了一个约 1GB 的巨大训练文件,其中基本事实是 4 个类 {-1,0,1,2} 之一。是的,我同意我可以使用 3 而不是 -1 来完成它,但出于某些传统原因,我使用了 -1。

我想在多项分布模式下使用 gbm。它是否会产生负面表示的一些问题,或者我可以继续它?

0 投票
0 回答
1201 浏览

r - 在 Redhat 上的 R 中安装 gbm 时出错

我想在 R 中安装 gbm,所以使用命令install.packages("gbm")但收到错误消息:

我的系统是Red Hat Enterprise Linux Workstation release 6.2 (Santiago). 有什么解决办法吗?

编辑:

当我尝试使用安装“并行”时,install.packages("parallel")我收到以下警告:

我应该指定什么库?