如何"重新培训" Spark中的模型(如果可能)

时间:2017-08-01 13:32:42

标签: apache-spark apache-spark-ml

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

由于

1 个答案:

答案 0 :(得分:1)

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

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

<强>也许

您可以创建某种类型的整体模型。仅针对新数据训练新模型,然后使用新旧模型进行预测,对两者进行加权概率。它不是内置的,所以你自己实现它。