将机器学习应用嵌入到Web应用中

前面的ML模型都是在本地运行计算的,此chapter介绍如何将模型应用在Web app上以获得实时学习、应用
这一章主要偏机器学习功能Web的简单开发,与算法关系不大。没有跳过反而收获不少。不得不佩服作者在构思’算法+系统‘时所作出的为读者充分考虑的思想

本章主要实现下列功能:(将情感分析学习器上线Web,使之能即时搜集新数据、学习新数据、更新学习器、做出预测。最后作者还提供了一种上传到公共Web空间的一种简便方式)

  • Saving the current state of a trained machine learning model
  • Using databases for data storage
  • Developing a web application using the popular Flask web framework
  • Deploying a machine learning application to a public web server

Serializing fitted scikit-learn estimators

这里应用的是 sentiment analysis 中的out_of_core.py中训练的线上模型为例,关于这个学习模型主要是一个one_line的学习模式,就是所有数据不在本地内存中。

即时学习的方法

fit 是全部学习所有的数据,而estimator的part_fit(X_new)方法可以在原来的学习器基础上学习新数据,更新新性能。

序列化

序列化将本地变量(如estimator)存储为二进制pkl文件,当大型的estimator需要在网络空间使用时直接dump出pkl,这一过程的速度回很快。(想想上章节中本地memory学习器学习完需要40min,而on_line训练完成也需要3min,这放在Web服务器上是不可能的,所以序列化是必要的)

import pickle
import os
dest = os.path.join('movieclassifier', 'pkl_objects')
if not os.path.exists(dest):
    os.makedirs(dest)
# 为了方便,将停用词也序列化
pickle.dump(stop,open(os.path.join(dest, 'stopwords.pkl'),'wb'),protocol=4)
pickle.dump(clf,open(os.path.join(dest, 'classifier.pkl'), 'wb'),protocol=4)

数据库

作者用的是Sqlite,emmmmmm一言难尽啊

Sqlite ,对就是Django初始化使用的轻量级数据库,不需要额外的配置接口什么的,可以像访问一个文件一样地访问他。。。 多么厉害友好!

所以,我决定换掉它,用Mysql

至于为啥,习惯吧… 作者的初衷是好的,因为这样免去了学习新数据库的成本和连接耽误的风险,作者面向的对象是没有Web开发经验的人,所以这一点是值得肯定的。

Flask框架

Why Flask??作者是这样回答的:

Flask is also known as a microframework, which means that its core is kept lean
and simple but can be easily extended with other libraries. Although the learning
curve of the lightweight Flask API is not nearly as steep as those of other popular
Python web frameworks, such as Django, I encourage you to take a look at the
official Flask documentation at http://flask.pocoo.org/docs/0.12/ to learn more about
its functionality.

哦,你说Flask比Django简单,好吧那就用Flask吧!

控制层

本质上讲 Flask也是用的MVC理论。

Flask最主要的就是app.py文件 相当于Django的views.py ,不同的是他还负责路径和数

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 随着人工智能和机器学习技术的不断发展,越来越多的Web应用程序需要嵌入机器学习模型,以实现更加智能化和个性化的服务。在Web嵌入机器学习模型的主要思路是将机器学习算法模型集成到Web应用程序的后端服务,以提供更加智能化的数据分析和预测功能。同时,也可以将机器学习模型嵌入Web前端以实现更加个性化的推荐和交互体验。 在Web后端嵌入机器学习模型的过程一般包括以下几个步骤:首先,需要确定应用场景和具体的机器学习算法,然后根据数据特征进行数据处理和特征工程,建模后进行模型训练和验证,最后将训练好的模型部署到Web后端的服务。此外,为了提高服务的响应速度和稳定性,还需要考虑使用分布式计算和缓存技术来优化模型的性能。 在Web前端嵌入机器学习模型的过程主要包括以下几个阶段:首先,需要设计合适的用户交互界面和数据收集方式,然后将收集到的数据进行预处理和特征提取,建模后进行模型训练和验证,最后将训练好的模型嵌入Web前端以实现智能推荐和个性化服务。此外,为了提高模型的精度和交互性,还可以使用深度学习和强化学习等新型机器学习算法来解决更为复杂的问题。 总之,在Web嵌入机器学习模型可以为我们的应用程序带来更加智能化和个性化的服务,但需要在数据收集、处理、模型训练、优化和部署等多个方面进行考虑和优化,以实现最优的性能和用户体验。 ### 回答2: 随着人工智能技术的不断发展,机器学习模型如今已成为了很多领域的重要应用。而在web嵌入机器学习模型,则是将这一技术应用在互联网领域的一种方式。 在web嵌入机器学习模型首先需要确定要解决的问题和相应的数据集。然后,可以使用一些常见的机器学习框架,如TensorFlow、Keras、Scikit-learn等,来构建和训练模型。训练好的模型可以保存为文件或接口,供web应用程序调用。 在web应用程序,可以使用一些编程语言和工具来调用机器学习模型,例如Python、JavaScript、Flask、Django等。这样,用户就可以通过web界面或API接口使用机器学习模型来解决各种问题,例如图像分类、自然语言处理、推荐系统等。 同时,在web嵌入机器学习模型还需要考虑模型数据的安全性和隐私保护。因此,在模型构建和调用时要注意保护数据的隐私性,确保模型不会泄露用户的隐私信息。 总之,将机器学习模型嵌入web应用程序可以为用户提供更加智能和高效的服务,提高web应用程序的效率和用户体验。 ### 回答3: 随着互联网的发展,越来越多的公司开始将机器学习应用Web应用程序。在Web嵌入机器学习模型可以让程序更加智能化,提高用户体验和服务质量,为企业赢得更多的竞争优势。 首先,Web应用程序可以利用机器学习模型来优化搜索引擎和推荐引擎,提供更加个性化的服务给用户。通过对用户的搜索历史、网页浏览记录和社交媒体数据进行分析,可以为用户提供更加符合他们需求的搜索结果和推荐物品,从而提高用户的满意度和忠诚度,增加企业的收益。 其次,机器学习模型可以帮助企业在云平台上建立更加智能化的数据分析和决策系统,实时监控和预测变化趋势,并提供数据可视化的结果,帮助企业高效决策。 最后,Web应用程序可以利用机器学习模型来处理大量文本和图像数据,帮助企业进行自然语言处理、图像识别和分类等任务,提高企业的工作效率和精度。 总之,在Web嵌入机器学习模型将会使企业的应用程序更加智能化,提高企业的竞争力和市场占有率,是未来数年一个非常重要的趋势。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值