问题标签 [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.
xgboost - xgboost TypeError:无法从 DataFrame 初始化 DMatrix
从 python 中的数据创建 DMatrix 时出现以下错误。
TypeError:无法从 DataFrame
异常 AttributeError 初始化 DMatrix:“'DMatrix' 对象没有属性 'handle'”在 <bound method DMatrix.__del__ ofrix object at 0x584d210>> 被忽略
r - 如何在插入符号中指示 xgboost 使用 mlogloss 进行优化
我有一个多类问题:例如,我们可以获取数据集数据mtcars
集,并且我们想要预测柱面数cyl
。
我想使用包装xgboost
并安装它。caret
为此,我使用为超参数创建网格
我可以将训练控制参数创建为
)
然后,当我尝试使用以下方法运行该train
功能时caret
:
我得到错误::
如何修复此错误以及如何指导xgbTree
使用mlogloss
来优化学习。
python - 每次迭代选择特定的子样本 (xgboost)
使用 xgboost 可以定义子采样率,以便每次迭代使用一定百分比的数据。但是,是否可以指定应该使用的确切子集?我能想到使用 xgboost 执行此操作的唯一方法是自己管理迭代过程,如https://github.com/dmlc/xgboost/blob/master/demo/guide-python/boost_from_prediction.py。并指定一个不同的dtrain
每次迭代(dtrain
然后每次都包含一个特定的子样本)。
有没有更优雅的方法来做到这一点?
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 包。
谢谢
r - 如何使用 xgboost 打印分类结果的概率?
我有一个看起来像的训练集
Name
是结果/因变量。我将Name
,Area
和Day
转换为因子,但我不确定我是否应该为Month
和Night
,它分别只取整数值 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
使其如下所示?
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 集成?
欣赏你有见地的想法!
r - XGBoost - 具有不同曝光/偏移的泊松分布
我正在尝试使用 XGBoost 对不等长曝光期生成的数据的索赔频率进行建模,但无法让模型正确处理曝光。我通常会通过将 log(exposure) 设置为偏移量来做到这一点——你能在 XGBoost 中做到这一点吗?
(这里发布了一个类似的问题:xgboost,偏移曝光?)
为了说明这个问题,下面的 R 代码生成了一些带有字段的数据:
- x1, x2 - 因子(0 或 1)
- 暴露 - 观察数据的政策期限长度
- 频率 - 每单位风险的平均索赔数量
- 索赔 - 观察到的索赔数量〜泊松(频率*曝光)
目标是使用 x1 和 x2 预测频率 - 真实模型是:如果 x1 = x2 = 1,频率 = 2,否则频率 = 1。
曝光不能用于预测频率,因为它在政策开始时是未知的。我们可以使用它的唯一方法是:预期索赔数量 = 频率 * 曝光。
该代码尝试通过以下方式使用 XGBoost 进行预测:
- 将曝光设置为模型矩阵中的权重
- 将 log(exposure) 设置为偏移量
在这些下面,我展示了如何处理树 (rpart) 或 gbm 的情况。
machine-learning - xgboost(或任何其他算法)能否通过一些不好的功能给出不好的结果?
到目前为止,我的印象是机器学习算法(gbm、随机森林、xgboost 等)可以处理数据中存在的不良特征(变量)。
在我的一个问题中,大约有 150 个功能,如果我使用所有功能,使用 xgboost 我会得到大约 1 的 logloss。但是,如果我删除了大约 10 个不良功能(使用某种技术发现),我观察到的 logloss 为 0.45。这是巨大的进步。
我的问题是,糟糕的功能真的会产生如此大的差异吗?
r - 如何使用 OpenMP 编译在 OS X 中使 R 包 xgboost 并行?
我在 R 中使用 xgb.cv 和 xgboost。但是,它不能并行工作
我的示例代码如下
但是,上面的代码不起作用。我必须做什么才能使它们平行?
我在 xgboost 网站和 github 上找到了这个
但是,我无法运行
或者
sudo 也不起作用谢谢