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