问题标签 [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 回答
8586 浏览

r - xgboost中Objective和feval的区别

objectiveR中的xgboost和fevalin有什么区别?我知道这是非常基本的事情,但我无法准确定义它们/它们的目的。

另外,在进行多类分类时,什么是 softmax 目标?

0 投票
1 回答
1098 浏览

scikit-learn - GridSearch / make_scorer xgboost 模型的奇怪结果

我正在尝试将 sklearn 的 gridsearch 与 xgboost 创建的模型一起使用。为此,我正在创建一个基于 ndcg 评估的自定义记分器。我可以成功地使用 Snippet 1,但它太杂乱/太老套了,我宁愿使用好的旧 sklearn 来简化代码。我尝试实现 GridSearch,结果完全关闭:对于相同的 X 和 y 集,我得到 NDCG@k = 0.8 与 Snippet 1 而 0.5 与 Snippet 2。显然,我没有在这里做一些事情......

以下代码段返回非常不同的结果:

片段1:

片段2:

虽然 snippet1 给了我预期的结果,但 Snippet2 返回的分数与 ndcg_scorer 不一致。

0 投票
2 回答
27229 浏览

python - XGBoost 包中的特征分数(/重要性)是如何计算的?

该命令xgb.importance返回由f score测量的特征重要性图。

这个f 分数代表什么以及它是如何计算的?

输出: 特征重要性图特征重要性图

0 投票
4 回答
67097 浏览

python - XGBoost 分类变量:虚拟化与编码

使用时XGBoost我们需要将分类变量转换为数值。

以下方法之间的绩效/评估指标是否存在差异:

  1. 虚拟化你的分类变量
  2. 将分类变量从 (a,b,c) 编码为 (1,2,3)

还:

是否有任何理由不使用例如方法2 labelencoder

0 投票
1 回答
2421 浏览

r - 具有稀疏矩阵数据和多项式 Y 的 xgboost 随机森林

我不确定是否xgboost可以按照我需要的方式组合许多不错的功能(?),但我想做的是在多类因变量上运行具有稀疏数据预测器的随机森林。

我知道xgboost可以做任何一件事情:

bst <- xgboost(data = train$data, label = train$label, max.depth = 4, num_parallel_tree = 1000, subsample = 0.5, colsample_bytree =0.5, nround = 1, objective = "binary:logistic")

bst <- xgboost(data = sparse_matrix, label = output_vector, max.depth = 4, eta = 1, nthread = 2, nround = 10,objective = "binary:logistic")

  • 多项(多类)因变量模型通过multi:softmaxmulti:softprob

xgboost(data = data, label = multinomial_vector, max.depth = 4, eta = 1, nthread = 2, nround = 10,objective = "multi:softmax")

但是,当我尝试一次完成所有这些操作时,我遇到了关于不合格长度的错误:

我得到的长度错误是将我的单个多类依赖向量(我们称之为n)的长度与稀疏矩阵索引的长度进行比较,我认为对于j个预测变量来说,它是j * n 。

这里的具体用例是 Kaggle.com Walmart 竞赛(数据是公开的,但默认情况下非常大——大约 650,000 行和数千个候选特征)。我一直在通过 H2O 在其上运行多项式 RF 模型,但听起来很多其他人一直在使用xgboost,所以我想知道这是否可能。

如果不可能,那么我想知道是否可以/应该分别估计因变量的每个水平并尝试得出结果?

0 投票
2 回答
862 浏览

r - xgboost 与 R 的问题

我曾经xgboost做过逻辑回归。我按照 中的步骤进行操作,但遇到了两个问题。数据集位于此处

首先,当我运行以下代码时:

然后,我得到了

train-rmse终于等于0了!这正常吗?通常,我知道train-rmse不能等于 0。那么,我的问题在哪里?

二、当我跑步时

然后,我得到一个错误:

eval 中的错误(expr,envir,enclos):找不到对象“是”。

我不知道这是什么意思,也许第一个问题会导致第二个问题。

0 投票
1 回答
1237 浏览

cross-validation - (Python) XGBoost:通过交叉验证提前停止?

Python 中的 XGBoost 包是否允许在使用其交叉验证功能时提前停止?

我读到 R 包是这样做的,但是当我包含early_stopping_rounds=10在我的包中时,xbg.cv()它给了我错误:

0 投票
4 回答
37589 浏览

python - 了解python xgboost cv

我想使用 xgboost cv 函数为我的训练数据集找到最佳参数。我对api感到困惑。如何找到最佳参数?这是否类似于 sklearngrid_search交叉验证功能?如何找到max_depth参数 ([2,4,6]) 的哪些选项被确定为最佳?

0 投票
5 回答
119167 浏览

python - Python 中的 XGBoost XGBClassifier 默认值

我正在尝试使用 XGBoosts 分类器对一些二进制数据进行分类。当我做最简单的事情并且只使用默认值时(如下)

我得到了相当好的分类结果。

我的下一步是尝试调整我的参数。从参数指南中猜测...... https://github.com/dmlc/xgboost/blob/master/doc/parameter.md 我想从默认开始并从那里开始工作......

结果是一切都被预测为条件之一,而不是另一个。

奇怪的是,如果我设置

我希望给我与不提供任何参数相同的默认值,我得到了同样的事情发生

那么有谁知道 XGBclassifier 的默认值是什么?这样我就可以开始调音了?

0 投票
1 回答
723 浏览

python - 如果我使用不同数量的内核,XGBoost 会产生相同的结果吗?

我在两台机器上安装了相同版本的 XGBoost (0.4)。两台机器之间的唯一区别是 RAM 和内核数量(8 对 16)。使用完全相同的数据,我无法重现相同的结果。它们略有不同(第四位、第五位小数)。种子保留为默认值。