如何处理分类变量的建模,其中类别可能会随时间变化?

问题描述 投票:0回答:1

我面临着一个关于分类变量的问题。在我的案例中,我的变量可能会有不同数量的层次。例如,假设我的分类变量代表了 type_of_cars. 最初,它只有三种类型(为了便于论证)。gas, dieselhybrid. 我用了一个编码来表示它们。现在,市场上出现了一种新型的汽车,它是 eV (针对电动车)。我想知道是否有一种方法可以在不重新训练模型的情况下适应电动汽车。

在我的案例中,分类变量大概有50个不同的层次,随着时间的推移可能会增加新的层次,也可能会删除旧的层次。如果可能的话,我如何在不每次重新训练整个模型的情况下对数据进行建模?

您的建议将非常感激。

谢谢您的建议。

python data-science statsmodels
1个回答
1
投票

最好的方法就是重新训练你的模型。

思考一个分类变量如何影响你的模型可能会有帮助。分类变量通常被视为一个二元变量,其中每个类别是它自己的一列,如果该类别存在,则该列中的行是1,否则是0。现在想象一下,在你的数据中增加一个额外的列,你的模型还没有被训练过,就像一个新的类别一样......这将导致次优的性能。最有可能的是,这个新列对模型预测没有影响。

有一些例子是你所建议的,但它们需要一个次要模型被输入到一个主要模型中。我们在自然语言处理中经常看到这种情况,其中有一个关于文本如何相似的模型(一个词向量),然后这个模型被输入到另一个模型中,预测文本类别和情感等事情。

所以基本上,如果你能对分类变量的相似性进行建模(这是你的二级模型),并将该模型输入到主模型中,那么你只需要在获得新数据时更新二级模型。但是这种方法有它的问题...

© www.soinside.com 2019 - 2024. All rights reserved.