摘要:數(shù)據(jù)科學(xué)項目的完整流程通常是這樣的五步驟需求定義數(shù)據(jù)獲取數(shù)據(jù)治理數(shù)據(jù)分析數(shù)據(jù)可視化一需求定義需求定義是數(shù)據(jù)科學(xué)項目和數(shù)據(jù)科學(xué)比賽的最大不同之處,在真實情景下,我們往往對目標函數(shù)自變量約束條件都并不清晰。
概述
和那些數(shù)據(jù)科學(xué)比賽不同,在真實的數(shù)據(jù)科學(xué)中,我們可能更多的時間不是在做算法的開發(fā),而是對需求的定義和數(shù)據(jù)的治理。所以,如何更好的結(jié)合現(xiàn)實業(yè)務(wù),讓數(shù)據(jù)真正產(chǎn)生價值成了一個更有意義的話題。
數(shù)據(jù)科學(xué)項目的完整流程通常是這樣的五步驟:
需求定義=》數(shù)據(jù)獲取=》數(shù)據(jù)治理=》數(shù)據(jù)分析=》數(shù)據(jù)可視化
需求定義是數(shù)據(jù)科學(xué)項目和數(shù)據(jù)科學(xué)比賽的最大不同之處,在真實情景下,我們往往對目標函數(shù)、自變量、約束條件都并不清晰。需要通過訪談、論文、文檔等等形式對問題進行系統(tǒng)地分析,將實際問題量化為可以解決的抽象問題,確定自變量、約束條件以及目標函數(shù)。在真實情景下,需求往往是多變化的,臨時的,如何把握好需求成為了整個項目后續(xù)推進的關(guān)鍵要素。
二、數(shù)據(jù)獲取數(shù)據(jù)獲取的形式主要包括:
現(xiàn)有數(shù)據(jù)庫的調(diào)用
現(xiàn)有API的調(diào)用
自行設(shè)計的爬蟲
在數(shù)據(jù)獲取中,比較重頭的一項就是爬蟲的開發(fā),這里 R 雖然開發(fā)了 rvest 包, 不過比起 django-scrapy 這樣完整的爬蟲調(diào)度系統(tǒng)不禁黯然失色,所以在第一步,我建議使用Python做爬蟲的開發(fā)。
三、數(shù)據(jù)治理數(shù)據(jù)治理第一步就是數(shù)據(jù)的定義,而數(shù)據(jù)的定義通過 Python的各種ORM框架和admin系統(tǒng),可以非常出色地完成數(shù)據(jù)倉庫的定義和管理。通過 airflow 我們又可以很好的對ETL過程做全流程的監(jiān)控。
所以,在第二步,我依然建議使用Python作為數(shù)據(jù)治理的工具。
數(shù)據(jù)分析首先涉及的就是探索式分析,這一點正是R語言的強項,適宜于各種強大的數(shù)據(jù)可視化,我們可以利用R快速了解數(shù)據(jù)的整體特性,通過 data.table 和 Rcpp 我們也可以快速提升 R 的單機性能,省去了Cython寫wrapper的尷尬。而Python 由于需要更多約束的分析操作,在探索式分析中相比 R 少了幾分靈活性。至少是矩陣乘法我更愿意接受直觀的 %*%, 而不是np.dot()。所以,第三步,我建議使用 R 完成數(shù)據(jù)的分析工作。
五、數(shù)據(jù)可視化數(shù)據(jù)可視化本來是JS的天下,但是感謝 R語言生態(tài)中熱衷于給JS做封裝的開發(fā)者們,現(xiàn)在市面上絕大部分在BI領(lǐng)域會涉及到的JS庫都已經(jīng)被 R 語言封裝好了,比如 echarts、highcharts、rcharts、d3等等。另一方面,通過 shiny, 我們快速極大地簡化了BI構(gòu)建的流程,跳過底層jquery、boostrap、websocket等等細節(jié),直接針對業(yè)務(wù)場景構(gòu)建BI系統(tǒng),幫助我們在快速構(gòu)建BI原型上掃清障礙,而不是在Tornado里面辛苦地改template。顯然,使用 R 做數(shù)據(jù)可視化可以大大減少我們的開發(fā)時間。所以,第四部,我也建議使用 R 完成數(shù)據(jù)可視化的工作。
總結(jié)這樣正常數(shù)據(jù)科學(xué)項目做下來,我們需要交付一個爬蟲管理系統(tǒng)(django-scrapy)、一個數(shù)據(jù)倉庫管理系統(tǒng)(django)、一個流程監(jiān)控系統(tǒng)(airflow)、一個BI分析系統(tǒng)(shiny),真正完成對整個數(shù)據(jù)科學(xué)項目的可監(jiān)控、可維護,然后在這個過程中我們不斷去迭代我們的數(shù)據(jù)產(chǎn)品,優(yōu)化流程,完善模型,最終實現(xiàn)反哺業(yè)務(wù)。
總結(jié)起來,將Python作為數(shù)據(jù)科學(xué)的基礎(chǔ),而R作為上層建筑是一個不錯的解決方案,當然這一切都建立在數(shù)據(jù)開發(fā)人員具有過硬的開發(fā)技能,否則Python和R的隨意性會釀成巨大的慘案。
參考資料Forget Python vs. R: how they can work together
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/37900.html
摘要:對于數(shù)據(jù)科學(xué)的研究可以說已經(jīng)是本文我將介紹如何以文檔定義應(yīng)用的方式成為數(shù)據(jù)科學(xué)中的標準交付。參考前文解密的數(shù)據(jù)科學(xué)部門如果構(gòu)建知識倉庫,作為一個謝大大的死忠,我很自然選擇了作為我文檔輸出的首選工具。 showImg(https://segmentfault.com/img/remote/1460000006760433?w=423&h=426); 概述 隨著近年來,Rstudio 通過...
摘要:概述隨著容器化技術(shù)的興起,數(shù)據(jù)科學(xué)現(xiàn)在最大的一場運動已經(jīng)不是由一個新的算法或者統(tǒng)計方法發(fā)起的了,而是來自的容器化技術(shù)。本文將介紹利用容器技術(shù)如何加速數(shù)據(jù)科學(xué)在生產(chǎn)環(huán)境中的實際應(yīng)用。 showImg(https://segmentfault.com//img/bVxzYL); 概述 隨著容器化技術(shù)的興起,數(shù)據(jù)科學(xué)現(xiàn)在最大的一場運動已經(jīng)不是由一個新的算法或者統(tǒng)計方法發(fā)起的了,而是來自Doc...
摘要:概述隨著容器化技術(shù)的興起,數(shù)據(jù)科學(xué)現(xiàn)在最大的一場運動已經(jīng)不是由一個新的算法或者統(tǒng)計方法發(fā)起的了,而是來自的容器化技術(shù)。本文將介紹利用容器技術(shù)如何加速數(shù)據(jù)科學(xué)在生產(chǎn)環(huán)境中的實際應(yīng)用。 showImg(https://segmentfault.com//img/bVxzYL); 概述 隨著容器化技術(shù)的興起,數(shù)據(jù)科學(xué)現(xiàn)在最大的一場運動已經(jīng)不是由一個新的算法或者統(tǒng)計方法發(fā)起的了,而是來自Doc...
摘要:在同行評議上,我們檢查方法論的改進現(xiàn)有工作的關(guān)聯(lián)性以及準確的解釋性聲明。學(xué)習(xí)價值通過之前一系列的工作,現(xiàn)在數(shù)據(jù)科學(xué)家可以分享自己的新方法論代碼技術(shù)并且加快品牌化推廣,讓團隊之外的人可以快速了解自己的領(lǐng)域。 頑疾 Airbnb的數(shù)據(jù)團隊很重要的一個職責(zé)就是傳播基于數(shù)據(jù)的決策方法。我們將數(shù)據(jù)的獲取民主化,使得每一個Airbnb的成員都可以量化他們基于數(shù)據(jù)的決策影響力并且借此洞察用戶偏好,提...
閱讀 767·2021-10-09 09:58
閱讀 634·2021-08-27 16:24
閱讀 1719·2019-08-30 14:15
閱讀 2376·2019-08-30 11:04
閱讀 2061·2019-08-29 18:43
閱讀 2166·2019-08-29 15:20
閱讀 2712·2019-08-26 12:20
閱讀 1612·2019-08-26 11:44