How to build an ML pipeline for Data Science


垃圾信息分类

Ref:Develop a NLP Model in Python & Deploy It with Flask, Step by Step

其中使用naive bayes模型 做分类,此文不做表述。

重点来啦:Turning the Spam Message Classifier into a Web Application

其实就是http request 对接模型的 prediction。

Python & GPU加速

效果对比

Ref: 测试pytorch 调用gpu 加速矩阵相乘. accelerate matrix multiplication

这个级别的矩阵加速似乎并不是很明显。尤其是元素数两千之前,cpu是比gpu效果好的。
元素数目超过两千就可以选择用gpu,能有加速效果。

CUDA加速方案

Ref: Python GPU加速

(1)一个来自Anaconda的Python编译器Numba,它可以在CUDA-capable GPU或多核cpu上编译Python代码。

(2)Numba团队的另一个项目叫做pyculib,它提供了一个Python接口,用于

    • CUDA cuBLAS (dense linear algebra,稠密线性代数)
    • cuFFT (Fast Fourier Transform,快速傅里叶变换)
    • cuRAND (random number generation,随机数生成)

其他方案大全

All libraries below are free, and most are open-source.

Goto: A Beginner's Guide to Python Machine Learning and Data Science Frameworks

ML Pipeline

定义理解

Data Pipeline,中文译为数据工作流

你所要处理的数据可能包含CSV文件、也可能会有JSON文件、Excel等各种形式,可能是图片文字,也可能是存储在数据库的表格,还有可能是来自网站、APP的实时数据。

在这种场景下,我们就迫切需要设计一套Data Pipeline来帮助我们对不同类型的数据进行自动化整合、转换和管理,并在这个基础上帮我们延展出更多的功能,比如可以自动生成报表,自动去进行客户行为预测,甚至做一些更复杂的分析等。

与传统方式的区别

相对于传统的ETL,Data Pipeline的出现和广泛使用,主要是应对目前复杂的数据来源和应用需求,是跟“大数据”的需求密不可分的。

Zuper Cor.

跟superannuation相关的AI Platform?

/* implement */

Data Pipeline在机器学习中的应用案例


科技巨头都爱的Data Pipeline,如何自动化你的数据工作?

Approaching (Almost) Any Machine Learning Problem | Abhishek Thakur

System Architectures for Personalization and Recommendation

Pipeline框架

在这个案例中,我们用到的数据是来源于亚马逊的产品分类信息,其中包含了产品介绍、用户对产品的评分、评论,以及实时的数据。

产品打分

这个项目的主要目的是希望可以用这些实时获取的数据构建模型,从而对新的产品进行打分。

第一个Data Pipeline,用于构建基本的模型。

第二个Data Pipeline,使其服务于实时预测。

推荐系统

这个项目的主要目的是希望可以用这些实时获取的数据构建模型,从而对新的产品进行打分。

三条工作流

Netflix的Data Pipeline系统可以分成三个部分:实时计算、准实时计算、离线部分。

    • 实时计算部分,主要是用于对实时事件的响应和与用户的互动,它必须在极短的时间里对用户的请求作出响应,因此它比较适用于小量数据的简单运算。
    • 离线计算,它则不会受到这些因素的干扰,比较适用于大量数据的批处理运算。
    • 准实时运算,则是介于实时和离线之间。它可以处理实时运算,但是又不要求很快给出结果。比如当用户看过某部电影之后再给出推荐,就是准实时运算,可以用来对推荐系统进行更新,从而避免对用户的重复推荐。

 

搭建Data Pipeline的常用工具

数据存储

如果你的数据量特别大,你很有可能需要使用像是Hive这样的基于大数据的数据存储工具。

数据处理

像是Spark就是比较流行的的处理方案,因为它包含了很多接口,基本上可以处理Data Pipeline中所需要面临的绝大多数问题。

分享一个搭建Data Pipeline可能会用到的小管理工具。它是由Airbnb开发的一款叫做Airflow的小软件。

这个软件是用Data Pipeline来写的,对于Python的脚本有良好的支持。

它的主要作用是对数据工作的调度提供可靠的流程,而且它还自带UI,方便使用者监督程序进程,进行实时的管理。

原文赏析

主要是对链接中文章仔细再过一遍,总结知识点。

/* implement */

End.

最新文章

  1. OAF_开发系列08_实现OAF通过Popup参数式弹出窗口(案例)
  2. python模块app登陆认证(M2Crypto数字证书加密)
  3. PAT——乙级真题1002代码
  4. (转)Linq学习笔记
  5. Linux用户查询
  6. javascript插件uploadify简单实现文件上传
  7. maven项目:Invalid bound statement
  8. ASP.NET mvc 遇见的问题
  9. android开发常用组件(库)推荐
  10. CSS中字体尺寸总结
  11. 1.2 selenium IDE录制脚本
  12. 解决ansible首次连接host服务器需验证问题
  13. 安卓高级2 swipeReferenceLayout 使用案例 和完善其自定义上拉
  14. 客户端状态的存储空间——Session
  15. Spring MVC中一般类使用service
  16. 以太坊 ERC20 与 ERC721 深度解密
  17. win10更新后,可以远程桌面ping也没问题,但是无法访问共享文件夹的解决方法
  18. 委托、Lambda表达式、事件系列06,使用Action实现观察者模式,体验委托和事件的区别
  19. php学习十一:组合
  20. ios 去除UITextField中的空格

热门文章

  1. 如何在不到12天的时间里将网站权重优化到1(纯白帽SEO方法)
  2. centos7.x 安装系统/配置网络/设置主机名
  3. 02 http和https协议
  4. 朴素贝叶斯python代码实现(西瓜书)
  5. spring中的事件 applicationevent 讲的确实不错(转)
  6. MVC整体运行流程一(进入管道)
  7. 并查集(不相交集合)详解与java实现
  8. 如何比较装X地回答问题 | 面试系列.1
  9. 分清<url-pattern>/</url-pattern>与<url-pattern>/*</url-pattern>的不同
  10. 007 Linux系统优化进阶