資料科學家?我是個搞資料的碼農

語言: CN / TW / HK

↑↑↑關注後" 星標 "Datawhale

每日干貨 &  每月組隊學習 ,不錯過

Datawhale乾貨 

作者:桔了個仔,南洋理工大學,Datawhale成員

有的人對資料科學家一詞可能會望文生義,可能會說:「你這個碼農咋還自稱科學家了呢」。故寫此文來給大家揭開資料科學家這個職位的神祕面紗,也讓準備入行的新人對這個職業有更清楚的認識。

夫妻肺片不是肺片

有的人可能會疑問,要把資料玩成怎樣才能算資料科學家呢?其實資料科學家這詞有點唬人,其實並不屬於傳統意義上的科學家。如果不好理解,那麼這裡打個比方: 資料科學家一詞之於科學家,就好像夫妻肺片一詞之於肺片 。所以當朋友問我做什麼工作,如果對方不是專業人士,我一般不太敢用「資料科學家」這詞,因為很容易被誤解。我一般都會對他說,我是個搞資料的碼農。

資料科學家這個職位名稱,一般都是外企在使用。其實在國內,很少公司用這個職位名稱,更多的公司會用 「演算法工程師」 或者 「資料探勘工程師」 。這兩個職位有啥不同?其實很難一句話說清,因為不同公司對這個職位的定位不同,下面會分別介紹。

一般來說,演算法工程師包括幾種:

1. 資料演算法 。例如給你資料,用資料模型和各種集合模型來實現預測效果最大化。

2. 系統級別演算法 。例如一個超100G資料訂單系統,如果設計一個查詢演算法,使得平均查詢時間最少。

3. 專業演算法 。例如去研究SLAM演算法並去改進,其實和資料科學關係很小。

資料科學家就泛了:

1. 做資料建模的 。利用各種深度學習機器學習的模型,去實現預測或者檢測。

2. 做大資料處理的 。其實就是data engineer,但有的公司就要起data scientist的名字來蹭熱度。

3. 分析處理報表的 。這個就更離譜了,把以前的analyst直接改名叫DS了,希望大家找工作時看清JD不要被忽悠進去。

兩者的區別上,第一種演算法工程師和第一種資料科學家工作本質確實差不多,實質差異就看每個公司對其定位。如果真要硬說一個不同點,根據我的經驗,那就是資料科學家對溝通的需求稍微大些,需要對客戶解釋清楚自己的模型,對外部負責。而演算法工程師可能更偏「添磚加瓦」,對內部負責。其餘後面的兩種,就差異大了。

如果你看中了「科學家」的title就去應聘,那麼你可能會對實際工作內容感到失望。就好像幾年前校招裡最火的「產品經理」一崗,並不代表你一畢業就當上了經理。

資料科學家,來者何人?

那麼資料科學家這一個詞是怎麼來的呢?

業界普遍認為,這個詞是由DJ Patil在領英時發明的[1]。2008年 Jeff Hamerbatcher 與 DJ Patil 分別在 Facebook、LinkedIn 領導全球第一支資料科學團隊,至此資料科學越來越被廣泛流行,並應用到公共衛生、市場、金融、社會等各個領域。由於Facebook, LinkedIn都在舊金山(San Francisco),所以有的人會調侃:

A data scientist a statistician who lives inSan Francisco

(資料科學家就是住在舊金山的統計員)

在一些公司,工程師對於大資料的處理和利用會這樣分工:

有的工程師主要做資料倉庫建設,資料ETL(Extract, Transform, Load)等工作,他們主要關注的是基礎架構能不能支援大資料的存取,怎麼存取等等基礎性問題,這種工作,叫資料工程(Data Engineering)。

而有的工程師,是關注資料怎麼用,用什麼演算法來挖掘資料,用什麼統計方法等等這種工作,為了區分資料工程(Engineering) 的工作,這種工作就被叫做資料科學(Data Science)。

相對於的,前者一般叫Data Engineer(資料工程師),而後者,搞science的人,那就叫Scientist吧!於是後者成了Data Scientist。英文已經很唬人了,翻譯成中文「資料科學家」後,就離原來的意思更遠了。所以,我覺得國內稱之為「演算法工程師」更貼切。

當然,資料科學裡面確實有些科學的部分,例如用統計方法來解決問題。但總體來說,資料科學家的工作,是屬於工程領域,而非科學研究領域。

科學家?打雜工!

雖然說是「科學家」,但做的事情其實是工程師所做的事。相對起傳統的軟體工程師,資料科學家做的事情可能專注度更低,但上下游整合的水平更高。

資料科學家的日常工作可以有多雜?

我在之前的回答 (https://www.zhihu.com/question/22696468/answer/746755379) 提到過,這裡簡要概括下:

1.  商業邏輯理解與思考 佔10%時間)。

2.  資料檢查與清洗 (佔25%時間)。這是個很耗時又很枯燥的活。誰說data scientist is the sexiest job in 21st century的?檢查檢查資料的過程一點都不sexy。

3.  特徵工程 (佔20%的時間)。寫程式碼,構建特徵

4.  資料建模 (佔5%時間)。這是花時間最少的階段。

5.  與客戶,同事,或者上級溝通 (佔20%時間),溝通的內容包括:資料檢查發現的問題,專案的進度彙報,模型的更新,文件的更新,給客戶演示新方案等等。

6.  寫模型文件,資料分析文件等

。(佔15%時間)

這麼看來,資料科學家既像碼農,也像資料分析師,更像ppt製作專家。當然,資料科學家最像的,還是洗碗工,別人清洗盤子,我們清洗資料。

上面說的,僅僅只能代表我的日常工作,不敢說所有資料科學家的工作內容都和我一樣。因為資料科學家這個職位,並沒有完全被定義清楚,不同公司的資料科學家可能做的事情不一樣,具體有啥不一樣?大家可以去linkedIn上搜搜Data Scientist的招聘資訊,看看工作內容和技能要求,相信這裡面的多樣性會嚇你一跳。

你也想來打雜?

恭喜你看到這裡,說明你並沒有被資料科學的繁雜給嚇退,這是成為優秀資料科學家的第一步。那麼資料科學家的技能包括哪些?我之前寫過一篇回答 (https://www.zhihu.com/question/21592677/answer/1866931706) 不過有個外國的大神做了一張圖,讓我看完覺得,我還是太嫩了。

圖源:Swami Chandrasekaran[2]

嘿嘿,被唬住了?放心,這並不是資料科學家的入門門檻。這個圖僅僅是一個超集合(superset),也就是說,你並不一定需要全部懂這些才能去當個資料科學家。

如果你是從軟體工程師轉成資料科學家的,你的優勢會多些,因為這依然是工程類的職位,對基本的程式設計能力還是很看重。在《 資料科學家訪談錄》[3]一書中,Khan Academy資料科學主管Jace Kohlmeier說:

“依我之見,如果想要成為一名出色的資料科學家,你必須也是一名出色(至少是非常高效)的程式設計師。”

但即使你掌握了以上知識,你也不能立刻成為一名優秀的資料科學家。在資料科學裡,最重要的是根據業務不同摸索出不同的實踐,這需要具體的商業背景或者學科背景。MailChimp首席科學家Jonh Foreman說:

“如果你將資料科學作為一個學科,深入其中進行調查得越多,你就越會發現,這個看似籠統的大傘下面,掩蓋了非常多的技術、資料集以及學科背景。” [3]

當然,作為資料科學家,我們的職責是推進技術落地,讓技術產生價值。那麼落地能力包括哪些呢?大家可以看看,這裡就不再贅述了。

恭喜你看到這裡,你已經具備了一名優秀資料科學家必須的品質——耐心。

所以,你真的想好要來大資料裡摸爬滾打,在統計學的世界裡打雜了嗎?

點選閱讀「資料行業非完全入門指南」

參考

[ 1 ] https://observer.com/2019/11/data-scientist-inventor-dj-patil-interview-linkedin-job-market-trend

[ 2 ] http://nirvacana.com/thoughts/wp-content/uploads/2018/01/RoadToDataScientist1.png

[ 3 ] 資料科學家訪談錄. 978-7-115-47091-1. 作者: 【美】Carl Shan(單研) William Chen(陳子蔚) Henry Wang(汪強明) Max Song(宋邁思). 譯者: 田原劉奕.

桔了個仔

Data Scientist,擅長領域:風控/反洗錢

熱衷於人工智慧/機器學習/程式設計/科技/技術的鏟屎官

整理不易, 三連