问题标签 [boosting]

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 回答
1085 浏览

tree - sklearn GBDT 中的叶子值是什么,我如何获得它们?

我可以使用tree.export_graphviz 函数将 GBDT的结构导出到图像:

```Python3

```

这是获得的图像。

我想知道value叶子上有什么?我怎样才能获得它们?

我已经尝试过applyanddecision_function功能,但都不起作用。

0 投票
0 回答
424 浏览

python - 如何获取sklearn GBDT的整个决策过程?

当使用 sklearn.ensemble.GradientBoostingClassifier 构建 GBDT 时,我有一组树。我可以弄清楚一棵树的结构。但是对于一组树,我怎么知道以哪种方式访问​​这些树?

以以下代码为例,

然后,我有4棵树,也就是说,

而且,我可以用树木做到这一点,

但是在哪个轮次访问 clf.estimators_[0,0].tree_ .. clf.estimators_[3,0].tree_?以及结果是如何组合在一起的?

在手册中,据说,“现在公开一个应用方法来检索每个样本在每次尝试下最终进入的叶索引”。

我获得了以下数组,

但是怎么读呢?

更新: - - -

我已经从这里阅读了一些源代码:https ://github.com/scikit-learn/scikit-learn/blob/master/sklearn/ensemble/gradient_boosting.py#L1247 看来,索引只是索引,但编码与非叶节点。这就解释了为什么只有 8 片叶子,但内切可以大于 8。

另一个更新:------

看了这里这里的代码,终于搞明白了,GBDT的decision_function返回init_value+sum_{for each leaf}(learning_rate*leaf_value),预测概率就是decision_function的一个简单函数。

0 投票
1 回答
6685 浏览

machine-learning - Catboost:l2_leaf_reg 的合理值是多少?

在大型数据集(约 1M 行,500 列)上运行 catboost,我得到:训练已停止(迭代 0 的退化解决方案,可能太小 l2 正则化,尝试增加它)。

我如何猜测 l2 正则化值应该是多少?它与 y 的平均值、变量数、树深度有关吗?

谢谢!

0 投票
2 回答
2249 浏览

python - 更改 CatBoostRegressor 的参数“learning_rate”

在训练模型 CatBoostRegressor() 期间,是否有可能更改(降低)参数“学习率”(梯度步长系数)?它会减少迭代次数并加快训练速度吗?

0 投票
2 回答
627 浏览

r - Adabag 提升函数中的错误

大家好,我正在尝试使用 adabag 包中的提升功能,但它告诉我矩阵(?)中的行数必须相等。该数据不是原始数据,但似乎抛出了同样的错误。

你可以帮帮我吗?

谢谢你。

0 投票
1 回答
779 浏览

r - 如何使用 xgboost 算法进行多变量预测?

我有一组功能:x1、x2、x3。此外,我有一组标签:y1、y2、y3。

例如,我的 x 变量是身高、体重和受教育年限。每个 Yi 代表以下领域的一个等级:科学、艺术和管理。每个学生都被分配了一个共同响应领域(科学、艺术、管理)的成绩。我想使用 xgboost 算法来识别分数最低的班级。例如,如果标记是 (10, 25, 5),那么算法应该将类别预测为 y3。我怎样才能自定义我的目标函数来完成这个任务。我是 R 用户

0 投票
1 回答
603 浏览

c# - AdaBoost 反复选择相同的弱学习器

我已经实现了 AdaBoost 增强算法的一个版本,我使用决策树桩作为弱学习器。但是我经常发现,在训练 AdaBoost 算法之后,会创建一系列弱学习器,这样这个系列就会在整个集合中重复出现。例如,经过训练,弱学习者的集合看起来像这样A,B,C,D,E,D,E,D,E,D,E,F,E,D,E,D,E

我相信在每次分配一个新的弱学习器后,我都会正确更新数据的权重。这里我对每个数据点进行分类,然后设置这个数据点的权重。

这是我在 WeakLearner 类中的分类方法

然后我有一个更新数据点权重的方法

而且我不确定为什么会发生这种情况,是否有任何共同因素导致通常会选择相同的弱学习者?

0 投票
1 回答
543 浏览

r - Time series forecasting with gradint boosting in R

I have question that refers to both xgbar(forecastxgb package) and forecast function (forecast package). Usually, when I use object of class forecast I get both point prediction as well as confidence intervals, but not in this case:

model <- xgbar(train, seas_method = "fourier", maxlag=200, K = max(1, min(round(f/4 - 1), 10)))

fit_xgb <- forecast(model, h = weeks_predicted)

fit_xgb produces only point forecasts. Could you please let me know how can I get confidence intervals for forecast by xgboost method?

0 投票
1 回答
540 浏览

solr - 查询提升和查询提升之间的 Solr 区别

任何人都可以解释 solr 中 Query Elevation 和 Boost Query 之间的区别。我找不到这两种助推机制的缺点和优点。非常感谢。

0 投票
1 回答
255 浏览

machine-learning - 理解 Gradient Boosting 机器学习的基本思想

我对梯度提升的理解是......

我们可以通过顺序创建大量决策树来使模型更加复杂。每个决策树都建立在彼此之上。每棵新树的目标是修复先前树最错误的错误。如果我们有 3,000 棵决策树,这意味着错误最小化了 3,000 倍。到最后,我们会减少错误。

我的理解有问题吗?