从数据集中的现有特征中生成新特征(线性或非线性)有什么意义?

数据挖掘 机器学习 特征选择 特征工程 特征提取
2021-10-01 02:40:09

在特征工程期间,我们可以通过使用算术运算从现有特征中创建新特征,尽管是否是线性的。

假设我们有两个特征xz然后,我们可以通过求和xz来创建(设计)一个新特征f,假设这在用例的上下文中是有意义的,因此变成f = x + z

或者,如果要创建非线性特征,则可以实现类似以下内容,f = x*x + z

我的问题是,鉴于我们有xz并且知道它们与目标变量的相关强度,那么创建第三个特征(它只是原始两个特征的组合)的意义何在?

第三个特征能指出前两个特征不能指出的什么?

也许如果组合是非线性的,我可以理解,但如果组合是线性的呢?为什么应该有帮助?

PS 我偶然发现了一篇关于 Cross-Validated 解决这个问题的帖子,但鉴于答案的性质,它仍然让我感到疑惑和不满意。

1个回答

特征工程至少有两个重要的好处:

  1. 您可以通过包含模型必须学习的特征之间的交互来简化模型的任务
  2. 除了简化之外,您还可以将先验知识(例如专家知识)注入数据并最终注入模型

这里有两个例子:

非线性案例- 假设您正在开发一个模型来预测严重 Covid19 的风险(例如,定义为住院或死亡的患者)。如果您的数据集包含 和 等特征weightheight您的模型可以学习这些特征与结果之间的关联。但是,鉴于经验证据表明肥胖者患严重 Covid19 的风险增加,您可以设计一个自变量BMIobesity. 如果你这样做了,你的模型就不需要学习目标变量之间height最有可能的非线性关系。weight

线性案例- 假设您开发了一个模型来预测一个家庭是否会购买豪华车。如果您的数据集包括income from salary然后特征工程对这 3 个进行线性组合可以使您的模型更容易学习总收入与目标变量之间的关系。使其更具体:以决策树为例。如果没有它,可能需要几个分割点,包括不同的收入变量来得出预测。相反,拆分可能会导致需要更少节点的预测。income from investmentsother incometotal incometotal incometotal income

不过,非线性情况通常更相关。