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