- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个仅包含分类特征和分类标签的数据模型。
因此,当我在 XGBoost 中手动构建该模型时,我基本上会将特征转换为二进制列(使用 LabelEncoder 和 OneHotEncoder),并使用 LabelEncoder 将标签转换为类。然后我会运行一个多标签分类 (multi:softmax)。我用我的数据集进行了尝试,最终的准确度约为 0.4(不幸的是,由于 secret 性,无法共享数据集)
现在,如果我在 Azure AutoML 中运行相同的数据集,我最终在最佳实验中的准确度约为 0.85。但真正有趣的是,AutoML 使用 SparseNormalizer、XGBoostClassifier,以 reg:logistic 为目标。因此,如果我解释正确,AzureML 只是规范化数据(以某种方式来自分类数据?),然后执行逻辑回归?这甚至可能吗/这对分类数据有意义吗?
提前致谢。
最佳答案
TL;DR
您是对的,归一化对于在分类数据上训练梯度提升决策树 (GBDT
) 没有意义,但它不会不会产生不利影响。 AutoML 是一个用于建模的自动化框架。作为校准控制的交换,您可以获得易用性。仍然值得首先验证 AutoML 正在接收列正确编码为分类的数据。
将 AutoML 模型视为有效的 sklearn Pipeline ,这是一组捆绑的预处理步骤以及一个预测估计器。 AutoML 将尝试从大量预配置的管道中进行采样,以便发现最准确的管道。作为the docs说:
In every automated machine learning experiment, your data is automatically scaled or normalized to help algorithms perform well. During model training, one of the following scaling or normalization techniques will be applied to each model.
看到这个,你可以在你的拟合模型上调用 .named_steps
。另请查看 fitted_model.get_featurization_summary()
我特别理解您的担忧,尤其是 w.r.t. AutoML 如何利用 LightGBM
(MSFT 的 GBDT 实现)。 LightGBM
接受分类列,而不是单热编码,每当拆分时会将它们分为两个子集。尽管如此,AutoML 将通过单热编码、缩放和/或规范化来预处理分类列;因此这种独特的分类方法从未在 AutoML 中使用。
如果您对 Azure ML 中的“手动”ML 感兴趣,我强烈建议您查看 Estimators
和 Azure ML Pipelines
关于xgboost - 将 Azure AutoML 与 XGBoost 分类器一起用于分类数据时出现奇怪的算法选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62701556/
是否可以计算 xgboost 模型的内部节点预测? R 包 gbm 提供了对每棵树的内部节点的预测。 然而,xgboost 输出仅显示对模型最后一片叶子的预测。 xgboost 输出: 请注意,质量列
我想知道哪个损失函数使用 XGBoost 进行多类分类。我找到了 in this question二元情况下逻辑分类的损失函数。 我认为对于多类情况,它可能与 GBM 中的相同(对于 K 类)whic
XGBoost 使用加法训练的方法,在该方法中对先前模型的残差进行建模。 虽然这是顺序的,那么它如何并行计算呢? 最佳答案 Xgboost 不会像您提到的那样并行运行多棵树,您需要在每棵树之后进行预测
我正在看下面的图片。 有人可以解释一下它们是如何计算的吗?我以为 N 是 -1,是 +1,但后来我不明白这个小女孩怎么有 0.1。但这对于树 2 也不起作用。 最佳答案 我同意@user1808924
我已经使用 Amazon Sagemaker 构建了一个 XGBoost 模型,但是我找不到任何可以帮助我解释模型并验证它是否学习了正确的依赖关系的东西。 通常,我们可以通过 python API (
这是我的代码: xgb <- xgboost(data = as.matrix(df_all_combined), label = as.matrix(target_tr
在 xgboost 中可以设置参数 weight对于 DMatrix .这显然是一个权重列表,其中每个值都是相应样本的权重。 我找不到有关这些权重如何在梯度提升过程中实际使用的任何信息。他们是否与 e
不工作: import warnings warnings.filterwarnings('ignore') 我得到的警告: [14:24:45] WARNING: C:/Jenkins/worksp
我有一个用 Python 训练的 XGBoost 二元分类器模型。 我想在不同的脚本环境 (MQL4) 中使用纯数学运算而不使用 XGBoost 库 (.predict) 从该模型生成新输入数据的输出
我有一个仅包含分类特征和分类标签的数据模型。 因此,当我在 XGBoost 中手动构建该模型时,我基本上会将特征转换为二进制列(使用 LabelEncoder 和 OneHotEncoder),并使用
我使用 XGBoost 的 python 实现。目标之一是rank:pairwise并且最小化成对损失( Documentation )。但是,它没有说明输出的范围。我看到 -10 到 10 之间的数
我遇到了一个奇怪的问题: 我通过 hyperopt 定义了我的 XGB 超参数 'max_depth' hp.choice('max_depth',range(2,20)) 但我得到了 'max_de
我是 R 编程语言新手,我需要运行“xgboost”进行一些实验。问题是我需要交叉验证模型并获得准确性,我发现两种方法可以给我不同的结果: 使用“插入符号”: library(mlbench) lib
选择 auc、error 或 logloss 作为 XGBoost 的 eval_metric 对其性能有何影响?假设数据不平衡。它如何影响准确度、召回率和精确度? 最佳答案 在不同的评估矩阵 之间进
我是 Python 中 XGBoost 的新手,所以如果这里的答案很明显,我深表歉意,但我正在尝试使用 panda 数据框并在 Python 中获取 XGBoost 来给我使用 Scikit-Lear
我知道您可以为不平衡的数据集设置 scale_pos_weight。然而,如何处理不平衡数据集中的多分类问题。我经历过https://datascience.stackexchange.com/que
我正在使用 xgboost 的功能 pred_contribs 以便为我的模型的每个样本获得某种可解释性(shapley 值)。 booster.predict(test, pred_contribs
在 xgboost 0.81 中 cox ph 生存模型的新实现中,如何指定事件的开始和结束时间? 谢谢 例如,R 等效函数是: cph_mod = coxph(Surv(Start, Stop, S
我正在 R 中建模 claim 频率(泊松分布)。我正在使用 gbm和 xgboost包,但似乎xgboost没有将曝光考虑在内的偏移参数? 在 gbm ,人们会按如下方式考虑暴露: gbm.fit(
xgboost 包允许构建一个随机森林(实际上,它选择列的随机子集来为整棵树的 split 选择一个变量,而不是为了点头,因为它是算法的经典版本,但它可以忍受)。但是对于回归,似乎只使用了森林中的一棵
我是一名优秀的程序员,十分优秀!