问题标签 [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 投票
1 回答
5044 浏览

python - Python - Scikit 找到分类变量的变量重要性

我正在尝试在 python 中使用 scikit learn 来解决几个不同的分类器问题(RF、GBM 等)。除了构建模型和进行预测之外,我还希望看到可变的重要性。我知道有一种方法可以得到重要性

但是我如何获得与变量名称(即summary(gbm)在 R 中或varImp(randomForest)在 R 中)相关的更精致的东西,特别是如果它是具有多个级别的分类变量?

0 投票
0 回答
636 浏览

r - R:一个非常大的交叉验证错误

我在训练集中有 303 个数据点(见图)。其中许多点在 Y 轴上等于 0。 在此处输入图像描述

现在我想训练 GBM 模型来预测 Y 值。这是我的模型:

然后我得到相当高的 RMSE 值:~28。

这是显示yval交叉验证集的预测和实际的图。

在此处输入图像描述

我不明白为什么这条相对简单的曲线会有这么大的误差。任何想法?也许我应该使用找到的调整参数尝试另一个包caret

以防万一此信息有帮助:

更新:

动车组

测试集

0 投票
1 回答
11599 浏览

r - 在 gbm 多项式分布中,如何使用预测来获得分类输出?

我的响应是一个分类变量(一些字母),所以我在制作模型时使用了 distribution='multinomial',现在我想根据这些字母预测响应并获得输出,而不是概率矩阵。

然而在 中predict(model, newdata, type='response'),它给出了概率,与 的结果相同type='link'

有没有办法获得分类输出?

0 投票
3 回答
13278 浏览

r - GBM R函数:分别为每个类获取变量重要性

我正在使用 R(gbm 包)中的gbm函数来拟合多类分类的随机梯度提升模型。我只是想分别获得每个类别的每个预测变量的重要性,就像 Hastie 书中的这张图片(统计学习的要素)(第 382 页)。

在此处输入图像描述

但是,该函数summary.gbm仅返回预测变量的总体重要性(它们的重要性在所有类中平均)。

有谁知道如何获得相对重要性值?

0 投票
1 回答
3815 浏览

r - R gbm 函数中的权重参数

weightsR gbm函数中的参数是什么?它是否实现了成本敏感的随机梯度提升?

0 投票
3 回答
4871 浏览

r - 使用 GBM 的插入符号错误,但不是没有插入符号

我一直在通过插入符号使用gbm没有问题,但是从我的数据框中删除一些变量时它开始失败。我已经尝试过上述软件包的 github 和 cran 版本。

这是错误:

没有缺失值,响应是 4 水平因子,输入如下:

但是如果我直接用数据框调用gbm ,它就可以工作:

编辑:要重现,运行在此处找到的脚本

0 投票
1 回答
1115 浏览

r - R dismo::gbm.step 参数选择函数并行

我有一个工作函数,它被编码为优化并行处理(希望如此)。我仍然不是最精通的R,尤其是函数和迭代。

我希望有人可以帮助我优化我编写的函数以及额外的代码,以帮助计算时间并充分优化并行处理选项。

特别是使用%do%vs%dopar%并在函数内部移动附加代码和并行处理函数。我似乎无法开始%dopar%工作,我不确定这是否是我的代码、R版本或冲突库的问题。

对于以更有效的方式获得相同结果的可能方法的任何建议,我将不胜感激。

背景:

我正在使用dismo::gbm.step构建gbm模型。gbm.step通过 k 折交叉验证选择最佳树数。但是,树复杂度和学习率的参数仍然需要设置。我知道它caret::train是专门为这项任务而构建的,并且我在学习中获得了很多乐趣caret,尤其是它的自适应重采样功能。但是,我的回答是二项式的,caret没有返回二项式分布的 AUC 的选项;我想使用 AUC 在我的领域(生态学)中复制类似的已发表研究。

我也在dismo::gbm.simplify后面的分析中使用来识别可能的简化模型。gbm.simplify依赖于在构建模型时创建的数据dismo,我无法让它在内置模型上工作caret

最后,大多数gbm生态学文献都遵循 Elith 等人描述的方法。2008 年“增强回归树的工作指南”,这是 BRT 功能dismo的基础。出于本研究的目的,我想继续使用dismo来构建gbm模型。

我编写的函数测试了 和 的几种组合,tree.complexitylearning.rate为每个模型返回了几个性能指标的列表。然后我将所有这些组合lists成一个data.frame以便于排序。

函数的目标

  1. 从和 gbm的每次迭代创建一个模型。tree.complexitylearning.rate
  2. 为创建的每个模型存储$self.statistics$discriminationcv.statistics$discrimination.meanself.statistics$mean.resid和。cv.statistics$deviance.meanlistgbm
  3. 删除每个gbm模型以节省空间。
  4. 将每个列表组合成一种便于排序的格式。然后删除每个列表。
  5. 以优化并行处理以及减少计算时间和内存使用的方式执行上述所有操作。

可重现的示例 使用包中的Anguilla_train数据集dismo

0 投票
1 回答
2673 浏览

r - R中的gbm崩溃

我尝试在我的数据集上的 Rstudio 中使用 gbm(formula, data)。但是 Rstudio 在 Windows 和 Mac 上崩溃而没有任何消息(只是“Rstudio 需要重新启动”)。知道如何解决这个问题吗?

谢谢

0 投票
1 回答
2467 浏览

r - gbm::interact.gbm 与 dismo::gbm.interactions

背景

gbm package该函数的状态参考手册interact.gbm计算弗里德曼的 H 统计量以评估变量相互作用的强度。H 统计量在 [0-1] 范围内。

的参考手册dismo package没有参考任何关于gbm.interactions函数如何检测和建模交互的文献。相反,它提供了用于检测和建模交互的一般程序列表。小dismo插图“用于生态建模的增强回归树”指出该dismo包扩展了包中的功能gbm

问题

如何dismo::gbm.interactions实际检测和建模交互?

为什么

我问这个问题是因为gbm.interactionsdismo package产量结果中 > 1,gbm package参考手册说这是不可能的。

我检查了每个包的 tar.gz 以查看源代码是否相似。不同的是,我无法确定这两个包是否使用相同的方法来检测和建模交互。

0 投票
1 回答
404 浏览

r - Gradient Boosting 回归是否比随机森林更准确(MSE 更低)?

我刚刚创建了一个梯度提升模型,其样本外预测比随机森林差。GBM 的 MSE 比随机森林高 10%。下面是我的示例代码。我确定它是否有任何问题。