问题标签 [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.
r - xgboost中Objective和feval的区别
objective
R中的xgboost和feval
in有什么区别?我知道这是非常基本的事情,但我无法准确定义它们/它们的目的。
另外,在进行多类分类时,什么是 softmax 目标?
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 不一致。
python - XGBoost 分类变量:虚拟化与编码
使用时XGBoost
我们需要将分类变量转换为数值。
以下方法之间的绩效/评估指标是否存在差异:
- 虚拟化你的分类变量
- 将分类变量从 (a,b,c) 编码为 (1,2,3)
还:
是否有任何理由不使用例如方法2 labelencoder
?
r - 具有稀疏矩阵数据和多项式 Y 的 xgboost 随机森林
我不确定是否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:softmax
或multi: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
,所以我想知道这是否可能。
如果不可能,那么我想知道是否可以/应该分别估计因变量的每个水平并尝试得出结果?
cross-validation - (Python) XGBoost:通过交叉验证提前停止?
Python 中的 XGBoost 包是否允许在使用其交叉验证功能时提前停止?
我读到 R 包是这样做的,但是当我包含early_stopping_rounds=10
在我的包中时,xbg.cv()
它给了我错误:
python - 了解python xgboost cv
我想使用 xgboost cv 函数为我的训练数据集找到最佳参数。我对api感到困惑。如何找到最佳参数?这是否类似于 sklearngrid_search
交叉验证功能?如何找到max_depth
参数 ([2,4,6]) 的哪些选项被确定为最佳?
python - Python 中的 XGBoost XGBClassifier 默认值
我正在尝试使用 XGBoosts 分类器对一些二进制数据进行分类。当我做最简单的事情并且只使用默认值时(如下)
我得到了相当好的分类结果。
我的下一步是尝试调整我的参数。从参数指南中猜测...... https://github.com/dmlc/xgboost/blob/master/doc/parameter.md 我想从默认开始并从那里开始工作......
结果是一切都被预测为条件之一,而不是另一个。
奇怪的是,如果我设置
我希望给我与不提供任何参数相同的默认值,我得到了同样的事情发生
那么有谁知道 XGBclassifier 的默认值是什么?这样我就可以开始调音了?
python - 如果我使用不同数量的内核,XGBoost 会产生相同的结果吗?
我在两台机器上安装了相同版本的 XGBoost (0.4)。两台机器之间的唯一区别是 RAM 和内核数量(8 对 16)。使用完全相同的数据,我无法重现相同的结果。它们略有不同(第四位、第五位小数)。种子保留为默认值。