归一化会降低集成方法的模型性能吗?

Can normalization decrease model performance of ensemble methods?

标准化,例如z-scoring 是机器学习中常用的预处理方法。 我正在分析数据集并使用集成方法,如随机森林或 XGBOOST 框架。

现在我比较模型使用

  1. 非标准化特征
  2. z 得分特征

使用交叉验证,我观察到在这两种情况下,max_depth 参数越高,训练误差越小。

对于第一种情况,测试误差也在某个 MAE 处下降并达到饱和:

然而,对于 z-scored 特征,测试误差根本没有减少。

在这个问题中:https://datascience.stackexchange.com/questions/16225/would-you-recommend-feature-normalization-when-using-boosting-trees讨论了基于树的方法不需要规范化。但是上面的例子表明它有严重的影响。

所以我有两个问题:

  1. 这是否意味着即使测试误差减少,基于集成的方法也可能过度拟合?
  2. 在使用集成方法时,像 z-scoring 这样的标准化是否应该始终是常见的做法?
  3. 标准化方法是否可能降低模型性能?

谢谢!

在没有任何代码或数据的情况下,很难看出发生了什么。

归一化可能有帮助,也可能没有帮助,具体取决于特定数据以及如何应用归一化步骤。 基于树的方法应该足够健壮以处理原始数据。 在您的交叉验证中,您的代码是否对每个折叠分别进行标准化? 在 cv 之前进行单一归一化可能会导致严重泄漏。

如果深度值非常高,您将拥有一个更复杂的模型,可以很好地拟合训练数据,但无法推广到新数据。 我倾向于选择 2 到 5 之间的最大深度。 如果我不能得到一个合理的模型,我会把精力转向特征工程,而不是试图过多地调整超参数。