如何在机器学习中预处理新数据以进行实时预测?

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

我有一个 ML 分类器模型已经训练并保存在 pkl 中。原始数据集(32 列和 2000 行)有一个相对复杂的预处理:有几个合成列,聚合......甚至还有用 CountVectorizer 编码的新列(最终预处理数据集中有 110 列)。

当我想将新数据推入模型时,我需要将其作为一个整体进行处理,因此我将新行推入用于训练的数据集中,进行所有数据预处理,然后提取新的预处理列进行预测:

原始数据集:

第 1 列... 第 32 栏
原始数据 原始数据
原始数据 原始数据
原始数据 原始数据
原始数据 原始数据
要预测的新数据 要预测的新数据

处理数据后:

第 1 列... 第 110 列
用于训练的处理数据 用于训练的处理数据
用于训练的处理数据 用于训练的处理数据
用于训练的处理数据 用于训练的处理数据
用于训练的处理数据 用于训练的处理数据
处理新数据以进行预测 处理新数据以进行预测

最后:

prediction = model.predict(processed new data to predict)

问题是:在我的例子中,数据集很小(2000 行),但即使如此,预处理(本地)也需要大约 5-6 秒才能执行。那么预测时间不到 1 秒。

预处理花费的时间在许多应用程序中都太长了。有什么办法可以改善这些时间吗?机器学习中新数据的处理是如何实时进行的?

在本地,我没有从数据库读取用于训练的数据,而是从 csv 加载它。据我所知,读取速度甚至可能比直接从数据库读取还要好。

python machine-learning real-time
© www.soinside.com 2019 - 2024. All rights reserved.