如何将python机器学习库产品化?

2024-09-29 23:27:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Scikit学习构建一个分类模型(例如logisticsetreaction)。构建模型后,我可以使用什么工具将模型投入生产并在新数据集的基础上按计划运行它?i、 在Spark MLlib中,我们可以序列化一个模型,并使用Oozie工作流定期进行评分。但是什么是Python模型的等效工具呢?在


Tags: 工具数据模型序列化分类scikit评分基础
1条回答
网友
1楼 · 发布于 2024-09-29 23:27:49

对于我的定制ML模型,我通常倾向于用pickle模块来处理它们。但是,sklearn建议使用joblib(也可以查看sklearn中关于Model persistence的部分)来序列化具有大型numy数组的对象。在

现在,我不知道你们的生产环境是什么,我也不会做任何假设。不过,我会给你举个例子。在

我有一个提供推荐的网站。生产中使用的几种模型必须尽可能接近实时或定期更新。这些模型都存在于网站中,也就是说,它们在网站启动时被加载,在网站的配置中,并且可以由网站进行更新。i、 e.预测是作为数据流在。在

当你说“定期进行评分”时,我假设你的意思是你在检查收集到的新数据的模型的性能。在我的情况下,模型是定期更新的,但是为了验证目的,我将保留一个旧版本的模型,以测试看不见的数据。在

例如,我将从每个月的第一个月保存一个模型,并在月末收集所有新数据作为测试集。然后根据这些新数据对模型进行“评分”,我可以看到性能是否随时间而变化。模型会定期更改(添加新用户、新项目或新评级),因此一个月前的模型并不是当前模型的精确表示,但这种方法让我知道,我在决定模型结构时所做的假设是否仍然成立。这使我了解到是否需要重新审视这个特定的模型,并考虑修改它的构造。整个过程可以编写脚本并作为cron作业进行调度。在

我要注意的是,正如run pyspark on oozieOozie python workflow example walkthrough中所述,可以将Oozie与pyspark一起使用,但由于我从未使用过Oozie,因此我无法对其与任何其他python工具的相似性发表评论。在

相关问题 更多 >

    热门问题