多类分类的编码特征

数据挖掘 分类
2022-03-12 01:34:36

我有一个关于如何设置数据集进行建模的问题。

假设我有一个数据集,表示一个人将根据某些特征购买哪辆车:

因变量是个别汽车(汽车 1、汽车 2、……汽车 100)。

自变量是:

预算(买方)

最喜欢的颜色(买家)

……

……

颜色(1号车)

颜色(2号车)

……

颜色(汽车 100)

MPG(1号车)

MPG(2号车)

……

MPG(汽车 100)

假设这是一个多类分类问题。因此,在每种情况下只能选择一辆车。

我的问题是:拥有这样的自变量是否合适 - 特定于每个因变量?(汽车 X 的颜色,汽车 X 的 MPG,……)。将这样的一行放入模型中是否合适?模型如何知道每种颜色都在讨论相同的特征?颜色

最后,这种类型的数据/问题有名称吗?我不确定如何在 Google 上查找它。

2个回答

颜色是一个分类特征。

对分类特征进行编码的最常见方法之一是 one-hot 编码。颜色可以编码为指示向量。当前汽车的颜色在适当的索引处为 1。例如,红色汽车的 [1, 0, 0, ..., 0] 和蓝色汽车的 [0, 1, 0, ..., 0]。

还有其他编码分类特征的选项,例如二进制、计数、散列或标签编码。

虽然我不是很清楚,但我会尝试详细说明我对您的问题的一些想法。

首先回答你的问题:

  1. 是的。由于您的目标是预测客户将从 100 辆汽车中选择的汽车。包含有关这 100 辆汽车的功能没有任何问题。也就是说,在我看来,你设计模型的方式有点奇怪,但我稍后会解决这个问题。
  2. 是的,见上文。
  3. 模型不知道car color特征都在讨论颜色,除非它以某种方式硬编码。理论上,如果你输入足够的数据,并且取决于模型,模型最终会在特征之间形成某种关联. 但是,该关联完全隐含在模型的参数中。
  4. 我不知道您的问题的具体名称,但它与多类分类有关。

建议:

正如我上面所说,我认为你提出问题的方式有点奇怪。你不必听我的任何建议,因为你最了解你的问题,但这里是我对你的问题的一些想法。

您想预测将从 100 辆汽车中挑选出哪辆汽车。然后我将创建一个数据集,其中行代表每辆车,列是每辆车的特征。所以颜色、MPG 等。然后,我会让模型预测客户是否会购买特定的汽车。所以这变成了一个二元分类问题。然后,在大量汽车上训练模型后,我会让模型对所有 100 辆汽车进行预测。也就是说,我会让模型预测客户是否会为 100 辆汽车中的每一辆购买汽车。然后,我会从 100 辆汽车中挑选出模型最有信心被客户挑选的汽车,并将其用作最终预测。

同样,我以前没有做过这种问题,所以我不完全知道。一个类似的问题是预测客户会选择哪辆车,但这些功能描述的是客户而不是汽车。

在一个不相关的说明中:至于颜色等分类特征,我会使用 one-hot 编码。