如何 "retrain" Spark 中的模型(如果可能)

How to "retrain" a model in Spark (if possible)

我正在尝试弄清楚是否可以 "retrain" 一个模型,当新的和未知的数据可用于训练时。我的想法是这样的: 使用一些数据集进行初始训练并生成模型。然后可以保存该模型以供将来使用(使用 write().save() 命令)。每次我的程序运行时,我都会调用该模型,而不是通过在相同或相似的数据上对其进行训练来创建新模型(我知道我也可以使用 load() 命令加载模型)。但是,我将要处理的数据在某些时候肯定会发生足够大的变化,以至于我的模型所做的预测将不再那么正确。然而,这并不意味着它是错误的。这只是意味着它需要一些重新调整,这就是 "retraining" 想到的地方。我想用我的旧模型用新数据重新训练它,然后再次保存。是否可以在 Apache Spark 中执行此操作?或者我是否需要创建一个仅基于新数据的新模型? 仅供参考,我说的是分类模型,更具体地说是随机森林或 GBT。

谢谢

:

您可以结合新旧数据并使用所有可用数据训练新模型。

:

没有使用树模型进行增量训练的选项。您不能只从旧模型开始并添加新数据。

可能:

您可以创建某种类型的集成模型。仅在新数据上训练新模型,然后使用旧模型和新模型进行预测,为两者加权概率。它不是内置的,所以你必须自己实现它。