问题标签 [xgboost]

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

python - 如何在 xgboost 中访问单个决策树的权重?

我正在使用 xgboost 进行排名

据我了解,梯度提升是通过计算学习决策树的加权和来工作的。如何访问分配给每个学习助推器的权重?我想尝试在训练后对权重进行后处理以加快预测步骤,但我不知道如何获得单个权重。使用时dump_model(),可以在创建的文件中看到不同的决策树,但没有存储权重。在 API 中我没有找到合适的函数。或者我可以使用收缩参数手动计算权重eta吗?

0 投票
1 回答
2324 浏览

r - 为什么 xgboost 中的 early.stop.round 参数不起作用?

我尝试在库的函数中使用early.stop.round参数,但是,我得到了一个错误。在我离开未指定后,该函数运行没有任何问题。我做错了什么?xgb.cvxgboostearly.stop.round

这是我的示例代码:

我在用xgboost_0.4-2

0 投票
2 回答
32824 浏览

r - 如何在 R 中使用 XGBoost 算法进行回归?

我正在尝试使用 XGBoost 技术进行预测。由于我的因变量是连续的,我使用 XGBoost 进行回归,但各种门户中可用的大多数参考资料都用于分类。虽然我知道通过使用

我们可以进行回归,但我仍然需要对其他参数进行一些澄清。如果有人可以为我提供它的 R 片段,那将是一个很大的帮助。

0 投票
1 回答
296 浏览

python-2.7 - 在 python 下安装 xgboost,64 位 msys 失败

我想使用 anaconda python 安装 xgboost。在这个过程中,我正在尝试安装 xgboost。在尝试“制作” xgboost 时,我收到以下错误:

我从其他堆栈溢出帖子中了解到,32 位 gcc 不能与我正在使用的 64 位 anaconda 一起使用。但是,当我安装 mingw-w64 时,我可以看到它的 g++ 仅适用于 mingw32,而不适用于 mingw-w64。在 mingw-w64 包下,g++ 和其他应用程序+文件夹仅适用于 mingw32,而不适用于 64。对于 mingw-64,仅存在批处理文件和 Internet 快捷方式。

您能否指导我出了什么问题或指导我到一个合适的地方,从那里我可以下载 mingw-64。

提前致谢。

0 投票
9 回答
16748 浏览

python - xgboost predict 方法为所有行返回相同的预测值

我在 Python 中创建了一个 xgboost 分类器:

train 是一个 pandas 数据框,有 100k 行和 50 个特征作为列。目标是熊猫系列

然而,在训练之后,当我使用这个分类器来预测值时,整个结果数组是相同的数字。知道为什么会发生这种情况吗?

数据说明:约 50 个具有数值目标的数值特征

我也尝试过RandomForestRegressor使用相同数据的 sklearn,它确实给出了现实的预测。也许是 xgboost 实现中的一个合法错误?

0 投票
1 回答
6114 浏览

r - xgboost 覆盖率是如何计算的?

有人可以解释R 包中的Cover列是如何在函数中计算的吗?xgboostxgb.model.dt.tree

在文档中,它说 Cover “是衡量受拆分影响的观察数量的指标”

xgboost当您运行此函数的文档中给出的以下代码时,Cover树 0 的节点 0 为 1628.2500。

火车数据集中有 6513 个观测值,所以谁能解释为什么Cover树 0 的节点 0 是这个数字的四分之一(1628.25)?

此外,Cover对于树 1 的节点 1 是 788.852 - 这个数字是如何计算的?

任何帮助将非常感激。谢谢。

0 投票
1 回答
625 浏览

tree - XGBoost - 学习率

我正在使用 XGBoost 进行一些实验。我将迭代次数设置为 1000 并得到结果 - 合理的..

比我尝试做一些不同的事情:

而不是运行 1000 次迭代,我想运行 100 次迭代,这个重复 10 次(总共也 1000 次迭代)。在这 10 步之间,我设置了:target_learn = target_learn - target_fitted(来自上一步)。

而不是 target_fitted = target_fitted + 预测

Target_fitted 预测是通过对所有数据集的测试集进行交叉验证获得的。

我得到了不同的结果——准确度很差。

比我跑得更远,只跑了 5 次迭代,做了 200 次……甚至更糟……

我之所以尝试这样做,是因为我想在迭代期间更改学习矩阵(尝试做一些重复性的事情)。

任何想法为什么结果不同......在我看来,每一步的第一次迭代都是不同的,所以我在模型中多次迭代,这正在扼杀准确性......

其他参数一样。。

或者也许我错过了完整的东西..?谢谢

0 投票
3 回答
140 浏览

python - Python 用 0-x 索引替换列值(用于 xgboost)

我正在使用 python(与 pandas 等)我有一个带有标签列的数据框(类 a、b、c 等 - 总共 38 个)。我想使用 Xgboost 进行预测,但它只适用于 0:num_classes 范围内的标签。

所以基本上我需要: - 用 0:num_class 索引替换标签列中的所有值(a 用 0,b 用 1,c 用 2 等)

类数为 38,因此无法手动映射和替换。有没有一种优雅的方式来做到这一点?(在 R 中我会使用:

但它在这里不起作用。

0 投票
1 回答
1389 浏览

r - XGBoost 与 R,nthread 被忽略?

我知道 R 本身是单线程的,但是 XGboost 有一个参数 nthread 应该控制 xgboost 用于处理的线程数。但是,无论我如何设置它,我只看到我的一个核心被使用。

需要做什么才能使其并行运行?

0 投票
1 回答
10305 浏览

python - xgboost ML 模型的 get_fscore() 有什么作用?

有人怎么计算数字吗?在文档中它说这个功能“获取每个特征的特征重要性”,但没有解释如何解释结果。