问题标签 [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.
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”
这就是我认为这棵树的第一条规则的含义。
或者有任何建议如何最好地做到这一点?
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 集成,特别是因为我对这两个软件包都很陌生
r - R caret / gbm 代码无法预测:dim(X) 必须具有正长度
我正在尝试使用插入符号来找到 gbm 模型的最佳参数。此代码与我在其他数据集上使用的代码相同,无法找出错误。
它似乎可以运行模型,但无法创建预测。
这是完整的代码:
有什么建议么?
编辑:我正在使用gbm 2.1
和caret 5.16.24
r - GBM 多项式分布,如何使用 predict() 得到预测类?
我正在使用gbm
R 包中的多项分布。当我使用该predict
函数时,我得到一系列值:
但我想获得每个班级发生的概率。如何恢复概率?谢谢你。
r - gbm 函数中的下标越界
我有一个奇怪的问题。我已经在我的笔记本电脑上成功地运行了这段代码,但是当我首先尝试在另一台机器上运行它时,我得到了这个警告 Distribution not specified,假设 bernoulli ...,我期望但后来我得到了这个错误:
Error in object$var.levels[[i]] : subscript out of bounds
有人可以帮忙吗?数据结构完全相同,相同的代码,相同的 R。我什至没有在这里使用下标。
编辑:回溯()
因为我将保存的 R 工作区移动到另一台机器,它会不会有事可做?
编辑 2:好的,所以我已经更新了代码正在运行的机器上的 gbm 包,现在我得到了同样的错误。所以在这一点上,我认为旧的 gbm 包可能没有这个检查,或者新版本有一些问题。我对gbm的理解不够好说。
r - 部分依赖图和梯度提升(GBM 包)
是否可以绘制部分依赖图以显示类概率并估计GBM模型的预测变量的影响?类似于partialPlot
from randomForest
package 的东西。
根据这篇文章,使用 gbm 可以进行部分绘图。
在此先感谢您的帮助。
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 会话,重新加载数据并运行下一个模型。
有没有解决方案,这样我就不必一直重新启动会话?
非常感谢!
r - `train.error` 对 gbm 的实际代表是什么?
考虑下面的简短 R 脚本。似乎这boost.hitters$train.error
与训练集的原始残差或平方误差都不匹配。
我根本找不到文档train.error
,所以我想知道是否有人知道train.error
这里真正代表什么以及它是如何计算的?
输出:
r - 用负数表示一个类,用于 R 中的 GBM 训练
我已经生成了一个约 1GB 的巨大训练文件,其中基本事实是 4 个类 {-1,0,1,2} 之一。是的,我同意我可以使用 3 而不是 -1 来完成它,但出于某些传统原因,我使用了 -1。
我想在多项分布模式下使用 gbm。它是否会产生负面表示的一些问题,或者我可以继续它?
r - 在 Redhat 上的 R 中安装 gbm 时出错
我想在 R 中安装 gbm,所以使用命令install.packages("gbm")
但收到错误消息:
我的系统是Red Hat Enterprise Linux Workstation release 6.2 (Santiago)
. 有什么解决办法吗?
编辑:
当我尝试使用安装“并行”时,install.packages("parallel")
我收到以下警告:
我应该指定什么库?