作者|LAKSHAY ARORA 编译|VK 来源|Analytics Vidhya
概述
部署机器学习模型是每个ML项目的一个关键
学习如何使用Flask将机器学习模型部署到生产中
模型部署是数据科学家访谈中的一个核心话题
介绍
我记得我早期在机器学习领域的日子。我喜欢处理多个问题,对机器学习项目的各个阶段都很感兴趣。和我之前的许多人一样,我被模型整个生命周期的构建所吸引。
我和领域专家谈过,项目经理和所有相关人员确保他们的投入被包括在模型中。但后来我遇到了一个障碍——我到底该如何把我的模型交给我的客户呢?我不能给他们一个Jupyter notebook!
我所学的一切都集中在模型构建组件上。没有多少人会谈论如何部署你的机器学习模型。把你的模型投入生产意味着什么?它需要什么?
这些都是每个数据科学家需要回答的关键的职业定义问题。这就是为什么我决定写下这个教程来演示如何使用Flask来部署机器学习模型。
我们将首先了解模型部署的概念,然后讨论Flask是什么,如何安装它,最后,我们将深入到一个问题陈述中,学习如何使用Flask部署机器学习模型。
目录
什么是模型部署?
什么是Flask?
在机器上安装Flask
理解问题陈述
建立我们的机器学习模型
设置Twitter API
创建网页
将网页与模型连接
查看部署模型
什么是模型部署?
在典型的机器学习和深度学习项目中,我们通常从定义问题陈述开始,然后是数据收集和准备、数据理解和模型构建,对吧?
但是,最后,我们希望我们的模型能够提供给最终用户,以便他们能够利用它。模型部署是任何机器学习项目的最后阶段之一,可能有点棘手。如何将机器学习模型传递给客户/利益相关者?当你的模型投入生产时,你需要注意哪些不同的事情?你怎么能开始部署一个模型呢?
Flask的作用来了。
什么是Flask?
Flask是一个用Python编写的web应用程序框架。它有多个模块,使web开发人员更容易编写应用程序,而不必担心协议管理、线程管理等细节。
Flask是开发web应用程序的选择之一,它为我们提供了构建web应用程序所必需的工具和库。
在本教程中,我们将利用Flask的资源来帮助我们部署自己的机器学习模型。你会喜欢用Flask工作的!
在机器上安装Flask
安装Flask简单明了。在这里,我假设你已经安装了Python 3和pip。要安装Flask,需要运行以下命令:
sudo apt-get install python3-flask
就这样!准备好深入到问题陈述中去,离部署机器学习模型更近一步。
理解问题陈述
在本节中,我们将使用Twitter数据集。我们的目标是在推特上发现仇恨言论。为了简单起见,如果推特带有种族主义或性别歧视情绪,我们说它包含仇恨言论。
我们将创建一个包含如下文本框的网页(用户可以搜索任何文本):
对于任何搜索查询,我们将实时抓取与该文本相关的tweet,对于所有这些被抓取的tweet,我们将使用仇恨言语检测模型对种族主义和性别歧视tweet进行分类。
设置项目工作流
- 模型构建:我们将建立一个逻辑回归模型管道来分类tweet是否包含仇恨言论。在这里,我们的重点不是如何建立一个非常精确的分类模型,而是看看如何使用Flask部署这个模型
- 安装Twitter应用程序:我们将在Twitter开发人员的网站上创建一个Twitter应用程序,并获取身份验证密钥。我们将编写一个Python脚本来抓取与特定文本查询相关的tweet
- 网页模板:在这里,我们将设计一个用户界面,用户可以提交他的查询
- 获取Tweets:从用户处获取查询后,我们将使用twitter API获取与所搜索查询相关的Tweets
- 预测类并发送结果:接下来,使用保存的模型预测tweets的类并将结果发送回网页
下面是我们刚才看到的步骤的示意图: