添加包含可从当前功能派生的信息的新功能是否有助于提高性能?

数据挖掘 特征选择 数据
2022-03-01 00:07:57

假设您有一些包含一些值的数据:

1.3、0.9、1.1

你引入了一个新特性,它是这些值的平均值:3.3

在此示例中,假设您知道这些特征的平均值是对数据进行分类的一个很好的指标。我的问题是,您实际上并没有通过创建第 4 个特征来向模型添加任何内容,所有数据都已经在特征中,那么拥有这个平均值是否有助于模型训练更轻松地识别关系?

3个回答

这取决于您将训练什么模型并取决于新功能。但是,您的答案是肯定的。可以帮助该模型的性能。例如,假设新特征是其他特征的非线性组合(其他特征的倍数),而您的模型是线性分类器。添加新功能可能有助于更好地分类数据,具体取决于上下文。

我没有足够的声誉来简单地添加评论。检查半监督学习的不同方法是值得的。它目前是一个成熟的主题(有一些可以追溯到 2000 年代的例子,可能是更早的),主要针对聚类和数据分类,但也有关于回归的例子(https://content.iospress.com/articles/journal-of-intelligent -and-fuzzy-systems/ifs169689)。这个问题有点模糊,所以请自行搜索并选择您感兴趣的内容。

是的,原则上这种类型的特征工程可以帮助模型,并且 - 如果转换选择得当 - 在实践中几乎总是如此。

某些模型可能根本无法在没有您帮助的情况下计算出您给予它们的转换类型(例如,仅以线性方式使用所有预测变量的模型将无法表示非线性关系)。但即使是那些能够弄清楚的人(例如 xgboost 或一些深度神经网络最终应该有足够的数据来表示多个变量的任意复杂函数)也可以得到很大帮助(在表现更好/达到相同水平的性能方面)使用更少的数据)通过为他们提供良好的转换,否则他们需要通过查看大量示例来学习。

如果您查看他们选择的 kaggle 比赛获胜者方法的描述,您会发现某种巧妙的特征工程经常发挥重要作用。