利用flask将机器学习模型嵌入到web系统中
Posted 安全优佳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用flask将机器学习模型嵌入到web系统中相关的知识,希望对你有一定的参考价值。
在这篇文章中,主要介绍如何将一个机器学习的模型嵌入到web系统中,这篇文章的主要内容包括:
1、利用flask构建一个简单的web
2、将机器学习模型嵌入到web系统中
3、根据用户的反馈来更新模型
主要包括三个页面,评论提交页面、分类结果页面、感谢页面。当用户提交评论后跳转到结果页面,后台根据已有的模型来预测用户评论是属于正面评论还是负面评论,返回属于哪一种评论并且返回属于该种类的概率为多少。提供两个用户反馈结果按钮,如果用户点击正确按钮,则说明预测正确,否则预测错误,并将结果保存到SQLlite数据库中,然后再跳转到感谢页面。
一、项目结构
db:目录中存放SQLite数据库文件。
pkl:存放模型文件,stopwords.pk为停用词文件,classifer.pkl为模型文件。
static:为静态文件目录,主要存放js和css文件。
templates:为模板文件目录,用来存放html文件。
app.py:主要文件,包含界面跳转和模型预测等功能。
updatePkl.py:为模型更新文件。
vectorizer.py:将评论转换成为特征向量便于预测。
二、界面说明
界面做的比较简单,没有过多的去调整的样式,主要是实现功能。
1、用户提交评论界面
用户在这个界面可以输入自己的评论,并提交。
2、分类结果页面
用户可以通过这个页面查看自己评论的分类结果,并可以进行相应的反馈。如果,用户没有确认是否正确,SQLite数据库中将不会保存这条评论所属的类别。
3、感谢页面
通过这个界面可以跳转到,提交评论界面。利用SQLiteStudio可以查看数据库保存评论
三、功能的实现
1、将评论转成特征向量
2、主要功能
3、模型更新
为什么要将更新模型用另一个文件运行,而不是在用户提交反馈之后就直接更新模型?
如果在同一时间评论的用户多的话,直接在用户提交反馈之后就更新模型,可能会造成在更新模型文件的时候会损坏模型文件。建议,在本地更新模型文件之后,再上传到服务器。
安全优佳
http://news.secwk.com
以上是关于利用flask将机器学习模型嵌入到web系统中的主要内容,如果未能解决你的问题,请参考以下文章
手把手教你用 Flask,Docker 和 Kubernetes 部署Python机器学习模型(附代码)
独家 | 手把手教你如何使用Flask轻松部署机器学习模型(附代码&链接)