Questions tagged «gbm»

一系列算法将弱预测模型组合成强预测模型。最常用的方法称为梯度增强,最常用的弱模型是分类/回归树。

2
梯度增强树(GBM)与Adaboost之间差异的直观解释
我试图了解GBM和Adaboost之间的区别。 这些是我到目前为止所了解的: 两种提升算法都可以从先前模型的错误中学习,最后对模型进行加权求和。 GBM和Adaboost的损失函数非常相似。 但是,我仍然很难理解它们之间的差异。有人可以给我直观的解释吗?
48 boosting  gbm  adaboost 


5
GBM中的交互深度是什么意思?
我对R中gbm中的交互深度参数有一个疑问。这可能是一个菜鸟问题,对此我深表歉意,但是我认为该参数表示树中终端节点的数量基本上是X方向的,预测变量之间的相互作用?只是想了解它是如何工作的。另外,如果我有一个数据集,其中包含两个不同的因子变量,而同一个数据集,则我得到的模型就完全不同了,除了将这两个因子变量合并为一个因子(例如,因子1中的X级别,因子2中的Y级别,合并变量具有X * Y因子)。后者比前者更具预测性。我曾以为,增加互动深度会促进这种关系。

1
GBM的n.minobsinnode参数在R中的作用
这个问题不太可能对将来的访客有所帮助;它仅与较小的地理区域,特定的时间段或格外狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助,请访问帮助中心。 7年前关闭。 我想知道GBM软件包中n.minobsinnode参数的含义。我阅读了手册,但不清楚它的作用。该数字应该小还是大以改善结果?
21 r  gbm 

3
XGBoost vs Python Sklearn梯度增强树
我试图了解XGBoost的工作原理。我已经了解了梯度增强树如何在Python sklearn上工作。我不清楚XGBoost是否以相同的方式工作,但速度更快,或者它与python实现之间存在根本差异。 当我读这篇论文时 http://learningsys.org/papers/LearningSys_2015_paper_32.pdf 在我看来,XGboost的最终结果与Python实现中的结果相同,但是主要区别在于XGboost如何在每个回归树中找到最佳分割。 基本上,XGBoost提供相同的结果,但是速度更快。 这是正确的,还是我还缺少其他东西?

2
GBM分类是否遭受班级规模不平衡的困扰?
我正在处理有监督的二进制分类问题。我想使用GBM软件包将个人分类为未感染/已感染。我的未感染人数是感染者的15倍。 我想知道GBM模型在班级规模不均衡的情况下是否会受到影响?我没有找到回答该问题的参考文献。 我尝试通过为未感染的个体分配1的权重并为感染的个体分配15的权重来调整权重,但是结果却很差。

4
梯度提升机的精度随着迭代次数的增加而降低
我正在通过caretR中的程序包尝试使用梯度增强机算法。 使用一个小的大学录取数据集,我运行了以下代码: library(caret) ### Load admissions dataset. ### mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv") ### Create yes/no levels for admission. ### mydata$admit_factor[mydata$admit==0] <- "no" mydata$admit_factor[mydata$admit==1] <- "yes" ### Gradient boosting machine algorithm. ### set.seed(123) fitControl <- trainControl(method = 'cv', number = 5, summaryFunction=defaultSummary) grid <- expand.grid(n.trees = seq(5000,1000000,5000), interaction.depth = 2, shrinkage = …
15 machine-learning  caret  boosting  gbm  hypothesis-testing  t-test  panel-data  psychometrics  intraclass-correlation  generalized-linear-model  categorical-data  binomial  model  intercept  causality  cross-correlation  distributions  ranks  p-value  z-test  sign-test  time-series  references  terminology  cross-correlation  definition  probability  distributions  beta-distribution  inverse-gamma  missing-data  paired-comparisons  paired-data  clustered-standard-errors  cluster-sample  time-series  arima  logistic  binary-data  odds-ratio  medicine  hypothesis-testing  wilcoxon-mann-whitney  unsupervised-learning  hierarchical-clustering  neural-networks  train  clustering  k-means  regression  ordinal-data  change-scores  machine-learning  experiment-design  roc  precision-recall  auc  stata  multilevel-analysis  regression  fitting  nonlinear  jmp  r  data-visualization  gam  gamm4  r  lme4-nlme  many-categories  regression  causality  instrumental-variables  endogeneity  controlling-for-a-variable 

4
机器学习算法的预测间隔
我想知道以下所述的过程是否有效/可以接受,并且有任何合理的理由。 想法:监督学习算法不假设数据的基础结构/分布。最终,他们输出点估计。我希望以某种方式量化估计的不确定性。现在,ML模型的建立过程本质上是随机的(例如,在用于超参数调整的交叉验证的采样中以及在随机GBM中的子采样中),因此建模管道将为每个具有不同种子的相同预测变量提供不同的输出。我的想法(天真)是一遍又一遍地运行此过程以得出预测的分布,我希望可以对预测的不确定性做出陈述。 如果重要的话,我使用的数据集通常很小(约200行)。 这有意义吗? 需要说明的是,我实际上并没有按照传统意义引导数据(即,我没有对数据进行重新采样)。每次迭代都使用相同的数据集,我只是利用xval和随机GBM中的随机性。

1
GBM软件包与使用GBM的插入符
我一直在使用进行模型调整caret,但随后使用该gbm软件包重新运行模型。据我了解,caret程序包使用gbm的输出应相同。然而,data(iris)使用RMSE和R ^ 2作为评估指标,使用进行的快速测试显示模型中的差异约为5%。我想使用来找到最佳模型性能,caret但要重新运行gbm以利用部分依赖图。下面的代码具有可重复性。 我的问题是: 1)为什么即使这两个软件包应该相同,我仍会看到这两个软件包之间的差异(我知道它们是随机的,但5%的差异还是很大的,尤其是当我没有使用iris建模时使用的很好的数据集时) 。 2)同时使用这两个软件包有什么优点或缺点? 3)不相关:使用iris数据集时,最佳interaction.depth值为5,但高于我所阅读的最大值,使用最大值floor(sqrt(ncol(iris)))为2。这是严格的经验法则还是非常灵活? library(caret) library(gbm) library(hydroGOF) library(Metrics) data(iris) # Using caret caretGrid <- expand.grid(interaction.depth=c(1, 3, 5), n.trees = (0:50)*50, shrinkage=c(0.01, 0.001), n.minobsinnode=10) metric <- "RMSE" trainControl <- trainControl(method="cv", number=10) set.seed(99) gbm.caret <- train(Sepal.Length ~ ., data=iris, distribution="gaussian", method="gbm", trControl=trainControl, verbose=FALSE, tuneGrid=caretGrid, metric=metric, bag.fraction=0.75) print(gbm.caret) # …

1
如何找到GBM预测间隔
我正在使用插入符号包处理GBM模型,并希望找到一种方法来解决我的预测数据的预测间隔。我进行了广泛的搜索,但只提出了一些想法来找到随机森林的预测间隔。任何帮助/ R代码将不胜感激!

4
如何在广义增强回归模型中选择树数?
是否有选择GBM中树木数量的策略?具体而言,ntrees在自变量R的gbm函数。 我不明白为什么您不应该设置ntrees为最高合理值。我注意到,大量的树明显减少了来自多个GBM的结果的可变性。我认为大量树木不会导致过度拟合。 有什么想法吗?

1
协调增强的回归树(BRT),广义增强的模型(GBM)和梯度增强的机器(GBM)
问题: 增强回归树(BRT)和广义增强模型(GBM)有什么区别?它们可以互换使用吗?一种是另一种的特定形式吗? 为什么里奇韦(Ridgeway)为什么使用短语“广义增强回归模型”(GBM)来描述弗里德曼以前提出的“梯度增强机”(GBM)?这两个首字母缩略词是相同的,描述相同的事物,但是源自不同的短语。 背景: 我无法确定术语BRT和GBM有何不同。据我所知,这两个术语都是用来描述分类树和回归树的,这些树通过某种增强(例如装袋,自举,交叉验证)而具有随机性。另外,据我所知,GBM是由Friedman(2001)在他的论文“ Greedy函数逼近:梯度提升机”中首次提出的。然后,Ridgeway实施了Friedman在2006年的软件包“广义增强回归模型”(GBM)中描述的过程。在我的领域(生态学)中,Elith等人。(2008)是第一个证明Ridgeway gbm进行物种分布建模的软件包。但是,Elith等的作者。使用术语“增强的回归树”(BRT)来描述Friedman和Ridgeway' 我对这些术语是否可以互换使用感到困惑?令人困惑的是,一个作者使用相同的首字母缩写词(来自不同的短语)来描述先前作者提出的相同理论。同样令人困惑的是,第三作者在用生态学术语描述这一理论时使用了一个完全不同的术语。 我能想到的最好的是BRT是GBM的一种特定形式,其中的分布是二项式的,但是我不确定。 Elith等。像这样定义增强的回归树…“增强的回归树结合了两种算法的优势:回归树(通过递归二进制分裂将响应与其预测变量联系起来的模型)和增强(将多种简单模型组合在一起以提供改进的预测性能的自适应方法)最终的BRT模型可以理解为加性回归模型,其中单个术语是简单的树,以向前,逐步的方式拟合”(Elith等,2008)。

2
如何在助推树中找到调整参数的最佳值?
我意识到在Boosting Trees模型中有3个调整参数,即 树数(迭代数) 收缩参数 分割数(每个构成树的大小) 我的问题是:对于每个调整参数,我应该如何找到其最佳值?什么方法? 请注意:收缩参数和树木数量参数一起使用,即收缩参数的值越小,树木数量的值就越高。我们也需要考虑到这一点。 我对为分割数找到最佳值的方法特别感兴趣。是否应该基于交叉验证或有关背后模型的领域知识? 这些事情如何gbm在R 的包中进行?

3
如何使用R gbm和distribution =“ adaboost”?
文档指出具有分布=“ adaboost”的R gbm可以用于0-1分类问题。考虑以下代码片段: gbm_algorithm <- gbm(y ~ ., data = train_dataset, distribution = "adaboost", n.trees = 5000) gbm_predicted <- predict(gbm_algorithm, test_dataset, n.trees = 5000) 可以在predict.gbm文档中找到 返回预测向量。默认情况下,预测的尺度为f(x)。 但是,对于分配=“ adaboost”的情况,具体比例尚不清楚。 任何人都可以帮助解释predict.gbm返回值并提供转换为0-1输出的想法吗?
9 r  gbm 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.