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

如何将python机器学习库产品化?,python,scikit-learn,apache-spark-mllib,Python,Scikit Learn,Apache Spark Mllib,我正在使用Scikit学习建立分类模型(例如LogisticReturnal)。构建模型时,我可以使用什么工具将模型投入生产并在新数据集上按计划运行它?i、 在Spark MLlib中,我们可以序列化模型并使用Oozie工作流定期进行评分。但是Python模型的等效工具是什么呢?对于我的自定义ML模型,我经常倾向于用模块来处理它们。但是,sklearn建议使用(也可以查看sklearn中的部分)来序列化具有大型numpy数组的对象 现在,我不知道你们的生产环境是什么,也不会做任何假设。不过我会给

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

对于我的自定义ML模型,我经常倾向于用模块来处理它们。但是,sklearn建议使用(也可以查看sklearn中的部分)来序列化具有大型numpy数组的对象

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

我有一个网站,提供建议。生产中使用了几种型号,必须尽可能实时或定期更新。这些模型都在网站中,即在网站启动时加载,在网站的配置中使用,并且可以由网站进行更新。i、 e.预测以数据流的形式进行

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

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


我将注意到,可以将Oozie与pyspark一起使用,如和中所述,但由于我从未使用过Oozie,因此我无法评论它与任何其他python工具的相似性。

对于我的自定义ML模型,我通常倾向于使用模块对它们进行pickle。但是,sklearn建议使用(也可以查看sklearn中的部分)来序列化具有大型numpy数组的对象

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

我有一个网站,提供建议。生产中使用了几种型号,必须尽可能实时或定期更新。这些模型都在网站中,即在网站启动时加载,在网站的配置中使用,并且可以由网站进行更新。i、 e.预测以数据流的形式进行

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

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

我将注意到,可以将Oozie与pyspark一起使用,如和中所述,但由于我从未使用过Oozie,因此我无法评论它与任何其他python工具的相似性