问题标签 [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.
python - 如何在 xgboost 中访问单个决策树的权重?
我正在使用 xgboost 进行排名
据我了解,梯度提升是通过计算学习决策树的加权和来工作的。如何访问分配给每个学习助推器的权重?我想尝试在训练后对权重进行后处理以加快预测步骤,但我不知道如何获得单个权重。使用时dump_model()
,可以在创建的文件中看到不同的决策树,但没有存储权重。在 API 中我没有找到合适的函数。或者我可以使用收缩参数手动计算权重eta
吗?
r - 为什么 xgboost 中的 early.stop.round 参数不起作用?
我尝试在库的函数中使用early.stop.round
参数,但是,我得到了一个错误。在我离开未指定后,该函数运行没有任何问题。我做错了什么?xgb.cv
xgboost
early.stop.round
这是我的示例代码:
我在用xgboost_0.4-2
r - 如何在 R 中使用 XGBoost 算法进行回归?
我正在尝试使用 XGBoost 技术进行预测。由于我的因变量是连续的,我使用 XGBoost 进行回归,但各种门户中可用的大多数参考资料都用于分类。虽然我知道通过使用
我们可以进行回归,但我仍然需要对其他参数进行一些澄清。如果有人可以为我提供它的 R 片段,那将是一个很大的帮助。
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。
提前致谢。
python - xgboost predict 方法为所有行返回相同的预测值
我在 Python 中创建了一个 xgboost 分类器:
train 是一个 pandas 数据框,有 100k 行和 50 个特征作为列。目标是熊猫系列
然而,在训练之后,当我使用这个分类器来预测值时,整个结果数组是相同的数字。知道为什么会发生这种情况吗?
数据说明:约 50 个具有数值目标的数值特征
我也尝试过RandomForestRegressor
使用相同数据的 sklearn,它确实给出了现实的预测。也许是 xgboost 实现中的一个合法错误?
r - xgboost 覆盖率是如何计算的?
有人可以解释R 包中的Cover
列是如何在函数中计算的吗?xgboost
xgb.model.dt.tree
在文档中,它说 Cover “是衡量受拆分影响的观察数量的指标”。
xgboost
当您运行此函数的文档中给出的以下代码时,Cover
树 0 的节点 0 为 1628.2500。
火车数据集中有 6513 个观测值,所以谁能解释为什么Cover
树 0 的节点 0 是这个数字的四分之一(1628.25)?
此外,Cover
对于树 1 的节点 1 是 788.852 - 这个数字是如何计算的?
任何帮助将非常感激。谢谢。
tree - XGBoost - 学习率
我正在使用 XGBoost 进行一些实验。我将迭代次数设置为 1000 并得到结果 - 合理的..
比我尝试做一些不同的事情:
而不是运行 1000 次迭代,我想运行 100 次迭代,这个重复 10 次(总共也 1000 次迭代)。在这 10 步之间,我设置了:target_learn = target_learn - target_fitted(来自上一步)。
而不是 target_fitted = target_fitted + 预测
Target_fitted 预测是通过对所有数据集的测试集进行交叉验证获得的。
我得到了不同的结果——准确度很差。
比我跑得更远,只跑了 5 次迭代,做了 200 次……甚至更糟……
我之所以尝试这样做,是因为我想在迭代期间更改学习矩阵(尝试做一些重复性的事情)。
任何想法为什么结果不同......在我看来,每一步的第一次迭代都是不同的,所以我在模型中多次迭代,这正在扼杀准确性......
其他参数一样。。
或者也许我错过了完整的东西..?谢谢
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 中我会使用:
但它在这里不起作用。
r - XGBoost 与 R,nthread 被忽略?
我知道 R 本身是单线程的,但是 XGboost 有一个参数 nthread 应该控制 xgboost 用于处理的线程数。但是,无论我如何设置它,我只看到我的一个核心被使用。
需要做什么才能使其并行运行?
python - xgboost ML 模型的 get_fscore() 有什么作用?
有人怎么计算数字吗?在文档中它说这个功能“获取每个特征的特征重要性”,但没有解释如何解释结果。