我有一个包含如下列的训练集:
。我想知道我是否应该将、和视为单独的功能(因为是从其他功能派生的)?我还发现删除作为一个功能会增加我的(略微!)。k-fold neg-loss score
潜在的问题是我怎么知道娱乐或甚至 ...(你明白了)作为另一个功能列会/不会增加我的分数?
是否有任何方法/算法可以知道哪些“修改”功能会增加我的分数?
我有一个包含如下列的训练集:
。我想知道我是否应该将、和视为单独的功能(因为是从其他功能派生的)?我还发现删除作为一个功能会增加我的(略微!)。k-fold neg-loss score
潜在的问题是我怎么知道娱乐或甚至 ...(你明白了)作为另一个功能列会/不会增加我的分数?
是否有任何方法/算法可以知道哪些“修改”功能会增加我的分数?
我认为您所说的称为复合特征,它非常重要,因为有时它会捕获某些特征之间的交互,这些交互在独立考虑每个列向量(或列)时并不明显。
您的问题的答案是,它可能会或可能不会,如果不查看数据,真的无法知道,例如,如果我们有一个由以下特征组成的数据集。您可以创建许多由这些变量之间的数学运算组成的数据集,就像您在问题中提到的那样。
现在是关于为什么有人想要这样做的原因。考虑一个有监督的学习场景,您尝试将名义特征相对于其他一些特征进行分类。这是一个纯粹的假设示例,但假设我们正在预测基于面部特征(网格中的绝对鼻子位置、左眼位置等)或不同类别的肤色。虽然您可能会获得较低的误差,但可能值得考虑复合特征,例如右眼位置 - 左眼位置,这可以为我们提供比其绝对位置更多的信息。
要回答后一个问题,没有任何真正的算法可以做到这一点,因为它们是基于数据的特征组合,任何这样做都必须是试错机制。因为潜在的数据相似性可能不明显可见。您可以解决此问题的一种方法是在您的基本数据处理阶段,考虑数据之间实际可能的关系,或者至少,您认为它们是什么。
如果你是从信息论的角度考虑,给出再x3补充没有信息。x4x3/x4
但是,在我们匆忙下结论之前,必须记住还有更多方面。
第一个是表示概念的能力。让我们考虑一下您的特征是x3并且x4概念是的情况x3/x4。唯一的问题是我强迫你使用决策树作为模型。你怎么能代表它?请注意,即使我允许您选择任何树,表示也会很糟糕。
第二个问题是没有预先给出概念,因此算法应该搜索它。大多数监督学习算法实际上是在寻找概念和特征之间的相关性。像这样的关系1/x通常会导致它们出现问题,因为行为在 x 中不是线性的。
因此,如果您对不添加信息但便于表示或搜索的功能有想法,添加它们可能会有所帮助。
你是对的,问我应该在哪里停下来?可能有不同的特征组合会导致更好的模型。不幸的是,我们对此没有很好的解决方案。
考虑构建良好特征的问题,比如说减少模型大小的特征。我们可以将自己限制在可以用树表示的特征上。然而,为数据集构建一棵小树是一个NP 完全问题,这意味着我们没有有效的算法。
不仅如此,您还可以声称给定一个特征构建问题,您可以减少对它的分类(例如,构建一个代表概念的特征)。因此,特征构建与分类一样难。