如何调整已构建的 ML 预测模型

数据挖掘 机器学习 机器学习模型
2022-02-17 09:13:58

预测结果后如何继续机器学习模型?

我的意思是我为我的 100 万条记录数据集构建了一个模型,这个模型花了大约 1 天的时间来构建。

我使用 Python 提取了模型结果,现在我有了一个(函数),我可以用我的特征来提供它,它给了我一个预测结果

但随着时间的推移,我的数据集变成了 150 万条记录。

我不想从头开始重做整个事情。

有什么方法可以继续我构建的第一个模型(具有 100 万条记录的模型)的顶部,因此与从头开始为 150 万条记录重新构建所有内容相比,新模型根据新的 50 万条记录进行调整所需的时间更少.

PS我要求所有算法,如果无论如何都可以为任何算法做这件事,很高兴知道这些是哪些

1个回答

这取决于您的模型类型:

Classical using ensemble/stacked models:
如果您使用的是经典机器学习,您可以使用建立在之前 100 万条记录上的旧模型,并在最近的 500k 记录上创建一个新模型,然后将预测组合到一个集成或堆叠中方法。

集成和堆叠的参考:
https ://machinelearningmastery.com/stacking-ensemble-machine-learning-with-python/

视频参考:https ://www.youtube.com/watch?v=Un9zObFjBH0

使用迁移学习的 AI/NN:
如果您使用的是 NN(神经网络)模型,则可以使用迁移学习的思想。保存基于前 100 万条记录构建的模型,然后将其作为初始层添加到新的 NN 以分析新数据。然后,您可以保存新的 NN 并在下一轮中使用它。

参考:https ://machinelearningmastery.com/transfer-learning-for-deep-learning/

视频参考:https ://www.youtube.com/watch?v=yofjFQddwHE

一般准则:
如果您需要多次执行此更新过程,您可以在 n 条记录上创建一个新模型,一旦新数据集达到最小值就删除最旧的数据/模型,并仅预测最后 x 个楷模。n 和 x 根据您的数据、灵活性和实时预测需求进行调整。如果数据随时间变化,那么最好只使用最新的数据,或者将旧数据的权重降低,新的数据权重更高。

这是迁移学习的一个很好的定义:“迁移学习是一种机器学习方法,其中为任务开发的模型被重用作为第二个任务的模型的起点。”