XGBoost 需要标准化或归一化吗?

问题描述 投票:0回答:2

在下面的链接中,我确认 XGBoost 中不需要标准化。 然而,在我们现在使用的数据集中,我们需要使用标准化 以获得高性能。

如果构成一个样本的特征之间的尺度差异很大,是否需要标准化?

这是 18 个特征的一个示例。第 10 个特征始终等于 60。

[ 0.001652 0.000434 0.00312 0.000494 -0.093933 4.173985 6.314583 1.138626 3.807321 60.0.000108 0.000131 0.000272 0.000067 0.000013 0.000013 0.000108 0.000108]

https://datascience.stackexchange.com/a/60954


您的理由确实是正确的:决策树不需要对其输入进行标准化;
 由于 XGBoost 本质上是一种由决策树组成的集成算法,因此它并不
 也需要对输入进行标准化。

如需佐证,另请参阅线程是否需要规范化?在 XGBoost Github 存储库中, 
XGBoost 首席开发人员的答案很明确:

不,您不必标准化功能
normalization xgboost standardization
2个回答
2
投票

当输入数据集的特征在其范围之间存在较大差异时,或者只是当它们以不同的单位(例如磅、米、英里等)进行测量时,就需要标准化了。

逻辑回归和基于树的算法(例如决策树、随机森林和梯度提升)对变量的大小不敏感。因此在拟合这些模型之前不需要标准化。

参考: https://builtin.com/data-science/when-and-why-standardize-your-data


0
投票

@Venkatesh 的答案是不正确的。 逻辑回归使用基于梯度下降的优化,这对特征的规模很敏感:如果一个特征存在于更大的尺度上,那么它在梯度中对应的元素将会更大,并且优化将有利于“下坡”朝着这个功能的方向。

© www.soinside.com 2019 - 2024. All rights reserved.