特征选择不是很有用吗?

数据挖掘 特征选择 特征工程 特征提取
2021-10-13 12:51:55

我现在参加了一些 DataScience 比赛,我注意到一些非常奇怪和令人沮丧的事情。为什么会令人沮丧?因为,从理论上讲,当你阅读数据科学时,它都是关于特征,以及对这些特征的仔细选择、提取和工程化,以从原始变量中提取最大信息,到目前为止,将每个变量按原样扔进混合中似乎使用正确的编码可以正常工作。即使删除具有 80% 空值的变量(理论上应该是过度拟合的贡献者)也会略微降低回归模型的性能。

对于一个实际案例:我有 long/lat 作为接送点和目的地点。我完成了计算与这些点的距离(各种距离)的逻辑任务。并放弃了长/纬度。当您在特征列表中同时包含(坐标和距离)时,模型的性能会更好。有什么解释吗?以及对我的困境的一般思考,以及特征选择/工程/提取的真正效用

编辑:是不是我们可以从坐标中得到的信息大于距离?是否可以提取对我的模型更有益的特征,即简单的长/纬度?

2个回答

我的经历是一样的。我认为至少在我的情况下,这在很大程度上取决于我通常使用的算法,所有这些算法都有能力忽略特征或将它们降低到对模型不是特别有用的微不足道的程度。例如,随机森林根本不会选择要分割的特定特征。神经网络只会将特征加权为对输出没有影响等等。我的经验是,考虑到每个特征的算法(如普通线性回归模型)通常会遭受更大的损失。

此外,在“生产”而非竞争环境中,我发现特征选择变得更加重要。这通常是由于协变量偏移- 某些特征的值的分布会随着时间而变化,并且在您的训练数据集和您日常进行的实时预测之间发生显着变化的情况下,这确实会破坏模型的输出完全地。这类问题似乎是在用于比赛的数据集之外进行管理的,所以直到开始在工作中使用 ML 之前我从未体验过它。

如果您想通过特征选择执行线性回归,您可以将问题表述为 MIO 并将其解决到最优。

然后您可以检查是否值得进行特征选择。