gpt4 book ai didi

xgboost - 将 Azure AutoML 与 XGBoost 分类器一起用于分类数据时出现奇怪的算法选择

转载 作者:行者123 更新时间:2023-12-05 02:52:15 26 4
gpt4 key购买 nike

我有一个仅包含分类特征和分类标签的数据模型。

因此,当我在 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 感兴趣,我强烈建议您查看 EstimatorsAzure ML Pipelines

关于xgboost - 将 Azure AutoML 与 XGBoost 分类器一起用于分类数据时出现奇怪的算法选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62701556/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com