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

xgboost - xgboost TypeError:无法从 DataFrame 初始化 DMatrix

从 python 中的数据创建 DMatrix 时出现以下错误。

TypeError:无法从 DataFrame
异常 AttributeError 初始化 DMatrix:“'DMatrix' 对象没有属性 'handle'”在 <bound method DMatrix.__del__ ofrix object at 0x584d210>> 被忽略

0 投票
1 回答
683 浏览

r - 如何在插入符号中指示 xgboost 使用 mlogloss 进行优化

我有一个多类问题:例如,我们可以获取数据集数据mtcars集,并且我们想要预测柱面数cyl

我想使用包装xgboost并安装它。caret为此,我使用为超参数创建网格

我可以将训练控制参数创建为

)

然后,当我尝试使用以下方法运行该train功能时caret

我得到错误::

如何修复此错误以及如何指导xgbTree使用mlogloss来优化学习。

0 投票
0 回答
101 浏览

python - 每次迭代选择特定的子样本 (xgboost)

使用 xgboost 可以定义子采样率,以便每次迭代使用一定百分比的数据。但是,是否可以指定应该使用的确切子集?我能想到使用 xgboost 执行此操作的唯一方法是自己管理迭代过程,如https://github.com/dmlc/xgboost/blob/master/demo/guide-python/boost_from_prediction.py。并指定一个不同的dtrain每次迭代(dtrain然后每次都包含一个特定的子样本)。

有没有更优雅的方法来做到这一点?

0 投票
9 回答
65572 浏览

python - 如何在 Windows 上的 python 中安装 XGBoost 包

我试图在 python 中安装 XGBoost 包。我正在使用 Windows 操作系统,64 位。我经历了以下。

包目录指出 xgboost 对于 windows 不稳定并被禁用:windows 上的 pip 安装目前已禁用以进行进一步调查,请从 github 安装。 https://pypi.python.org/pypi/xgboost/

我不精通 Visual Studio,面临构建 XGBoost 的问题。我错过了在数据科学中使用 xgboost 包的机会。

请指导,以便我可以在 python 中导入 XGBoost 包。

谢谢

0 投票
2 回答
2640 浏览

r - 如何使用 xgboost 打印分类结果的概率?

我有一个看起来像的训练集

Name是结果/因变量。我将Name,AreaDay转换为因子,但我不确定我是否应该为MonthNight,它分别只取整数值 1-12 和 0-1。

然后我尝试将其转换为 amodel.matrix然后运行xgboost

但是,head(pred)只显示一堆概率数字

Name变量可以采用 39 个不同的值。nrow(test)给出超过 80000,并且nrow(test)*39 与length(pred). 我不确定pred在说什么。假设Name订购为[ATTACK, VEHICLE, ..],它表示对于第一行prob(ATTACK)=.00727, prob(VEHICLE)=.207, ...?还是说,,,prob(ATTACK_1strow)=.00727... prob(ATTACK_2ndrow)=.207

假设pred是前者,那么我该如何修改pred使其如下所示?

0 投票
1 回答
2410 浏览

r - xgboost out of bag predictions

is it possible to get the out-of-bag (oob) predictions of each tree, and plot some kind of confidence intervals.

For example this is implemented in the quantregForest package:

enter image description here

0 投票
2 回答
5888 浏览

scikit-learn - 使用 xgboost 进行校准

我想知道我是否可以在 xgboost 中进行校准。更具体地说,xgboost 是否带有像 scikit-learn 中的现有校准实现,或者是否有一些方法可以将 xgboost 中的模型放入 scikit-learn 的 CalibratedClassifierCV?

据我在 sklearn 中所知,这是常见的程序:

如果我将 xgboost 树模型放入 CalibratedClassifierCV 会引发错误(当然):

RuntimeError: classifier has no decision_function or predict_proba method.

有没有办法将 scikit-learn 的优秀校准模块与 xgboost 集成?

欣赏你有见地的想法!

0 投票
2 回答
6546 浏览

r - XGBoost - 具有不同曝光/偏移的泊松分布

我正在尝试使用 XGBoost 对不等长曝光期生成的数据的索赔频率进行建模,但无法让模型正确处理曝光。我通常会通过将 log(exposure) 设置为偏移量来做到这一点——你能在 XGBoost 中做到这一点吗?

(这里发布了一个类似的问题:xgboost,偏移曝光?

为了说明这个问题,下面的 R 代码生成了一些带有字段的数据:

  • x1, x2 - 因子(0 或 1)
  • 暴露 - 观察数据的政策期限长度
  • 频率 - 每单位风险的平均索赔数量
  • 索赔 - 观察到的索赔数量〜泊松(频率*曝光)

目标是使用 x1 和 x2 预测频率 - 真实模型是:如果 x1 = x2 = 1,频率 = 2,否则频率 = 1。

曝光不能用于预测频率,因为它在政策开始时是未知的。我们可以使用它的唯一方法是:预期索赔数量 = 频率 * 曝光。

该代码尝试通过以下方式使用 XGBoost 进行预测:

  1. 将曝光设置为模型矩阵中的权重
  2. 将 log(exposure) 设置为偏移量

在这些下面,我展示了如何处理树 (rpart) 或 gbm 的情况。

0 投票
2 回答
1037 浏览

machine-learning - xgboost(或任何其他算法)能否通过一些不好的功能给出不好的结果?

到目前为止,我的印象是机器学习算法(gbm、随机森林、xgboost 等)可以处理数据中存在的不良特征(变量)。

在我的一个问题中,大约有 150 个功能,如果我使用所有功能,使用 xgboost 我会得到大约 1 的 logloss。但是,如果我删除了大约 10 个不良功能(使用某种技术发现),我观察到的 logloss 为 0.45。这是巨大的进步。

我的问题是,糟糕的功能真的会产生如此大的差异吗?

0 投票
3 回答
1582 浏览

r - 如何使用 OpenMP 编译在 OS X 中使 R 包 xgboost 并行?

我在 R 中使用 xgb.cv 和 xgboost。但是,它不能并行工作

我的示例代码如下

但是,上面的代码不起作用。我必须做什么才能使它们平行?

我在 xgboost 网站和 github 上找到了这个

  1. https://github.com/dmlc/xgboost/blob/master/doc/build.md#building-on-osx

  2. https://github.com/dmlc/xgboost/issues/276

但是,我无法运行

或者

sudo 也不起作用谢谢