如果我想通过 XGBoost 等基于树的算法训练回归模型。假设有 5 个特征 x1、x2、x3、x4、x5 和一个目标 y。一些专家说 x2 减去 x3 与 y 高度相关。我应该将 x2-x3 作为第六个特征放入模型中,还是 XGBoost 只需将 x1~x5 放入模型中即可自动学习它。
据我所知,线性模式可以从特征中学习公式,那么基于树的方法呢?如果基于树的也可以做同样的事情,那么数据的大小是否重要?
如果我想通过 XGBoost 等基于树的算法训练回归模型。假设有 5 个特征 x1、x2、x3、x4、x5 和一个目标 y。一些专家说 x2 减去 x3 与 y 高度相关。我应该将 x2-x3 作为第六个特征放入模型中,还是 XGBoost 只需将 x1~x5 放入模型中即可自动学习它。
据我所知,线性模式可以从特征中学习公式,那么基于树的方法呢?如果基于树的也可以做同样的事情,那么数据的大小是否重要?
XGBoost 不会自行学习“交互”。特征生成通常用于增强的解释力。通常会检查和使用或还有用于特征生成的工具,例如Python 的“Featuretools”。
您可以做一件事来找出哪种交互具有最大的解释力,您可以在所有可能的交互(一个接一个的交互,因此每次交互一个浅模型)上拟合只有很少分裂(三个左右)的树,并且检查每种情况的预测(例如 MSE、MAE),例如:
您可以只保留那些具有“高”解释力的交互,以避免模型中有大量特征。