[DE] Pipeline for Data Engineering

How to build an ML pipeline for Data Science


垃圾信息分类

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

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

 

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

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

 

 

Python & GPU加速

效果对比

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

这个级别的矩阵加速彷佛并非很明显。尤为是元素数两千以前,cpu是比gpu效果好的。
元素数目超过两千就能够选择用gpu,能有加速效果。框架

 

CUDA加速方案

Ref: Python GPU加速dom

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

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

    • 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.