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

相關文章
相關標籤/搜索