1. 程式人生 > >資料科學熱潮下的冷思考:什麼才是最需要的技能?

資料科學熱潮下的冷思考:什麼才是最需要的技能?

全文共3087字,預計學習時長6分鐘

圖片來源:pexels.com/@freestocks

資料科學已經進入了穩定生產的成熟期,資料科學家所需的技能也在與時俱進。不僅是追求更高效的機器學習模型,在當下,推動資料科學與商業結合、促進二者的化學反應比以往都重要。

在DataIku於德國柏林舉辦的“資料分析學和資料科學”論壇上,業內人士針對當下“有利於定義並建立創造價值的工作流的技能”這一問題進行了探討。

簡報傳送門:https://www.slideshare.net/SebastianBRose/data-science-beyond-the-hype-what-kind-of-skills-do-you-really-need

資料科學獨角獸 圖片來源:Unsplash/Andrea Tummons

那麼想要成為一名資料科學家,需要具備哪些技能呢?事實上,並不是只有博士學位才能讓一個人成為資料科學專家。要成為資料科學家,你需要對資料抱有熱情,還要擁有善於分析的頭腦。那麼,你需要什麼技能呢?

關於這一問題已經有了許多的文章和觀點,資料科學似乎已經被炒作過頭了。當然,這樣的炒作的有必要的,比如說它可以鼓勵分析學的競爭,亦或是推動資訊科技、市場營銷等傳統部門發展。

德國電信公司的資料學家Dominik Haitz (2019)曾經寫過一篇好文。在這篇文章中,他提出了四大類技能:

“第三次技術革命中資料科學家的技能組合”,Dominik Haitz

1. 資料與演算法工具箱:資料科學家應掌握統計學和機器學習方面的基礎知識。我尤其喜歡“演算法工具箱”這個詞,掌握演算法工具箱就意味著你可以自如地運用演算法,能夠快速應對各種問題。

2. 軟技能:這是一項非常重要的技能。根據我的經驗,資料科學家可能經常要應對相關人員的各種“感覺”。“理解”這些感覺需要一定的軟技能。

3. 商業思維:商業思維技能在Dominik Haitz的技能組合中佔據核心位置(見上圖)。這項技能關係到一個數據科學專案能夠創造多少商業價值。

4. 軟體工程技能:如果只在自己的膝上型電腦上執行資料科學模型,會有什麼效果?要想建立有效的資料科學工作流,必須對軟體工程的工作原理有大致瞭解。

事實上,後面兩項技能非常重要,因為這些技能常常被討論“如何成為資料科學家”的炒作文章所忽略,而它們在實際的日常工作中又非常重要。

從簡單到複雜

對於機器學習及其對商業價值的影響而言,“從簡單到複雜”這個概括有些過於簡單了。Civis Analytics的首席資料科學家,Skipper Seabold曾討論過“資料科學的信任危機”問題。他指出,資料科學家們傾向於關注機器學習演算法和驗證訓練計劃等具體問題,卻忽略了對商業需求的理解。

對於資料科學家來說,適當地瞭解其所屬公司的商業模式和盈利模式是更為重要的,因為只有這樣他們才能為以下常見情況做好準備:

· 商業執行中出現了問題,或者是發現了潛在的隱患。

· 企業希望資料科學家設計出資料科學“獨角獸”。

· 企業希望資料科學家為其增加價值或者創造新的價值。

因此,價值可以代表不同的含義。增加/創造價值可能意味著資料科學家通過洞察資料改變了企業的運營流程,也可能意味著他們推動了“資料驅動文化”的發展。

但在大多數情況下,企業希望能通過資料科學家的專案增加收入或是利潤,抑或兩者兼得。公司並不在乎機器學習模型的細節,它只希望證明這個模型是能夠創造價值的。

那麼,為什麼不專注於能夠自動創造價值的、最先進的機器學習技術呢?我們可以從兩個方面來認識資料科學:系統複雜度和建模難度。系統複雜度涵蓋了商業流程、依賴關係和資訊科技基礎設施這三方面的複雜度,而建模難度關注的是怎樣在資料層面解決問題或者將其轉化為數學問題。資料科學專案的系統複雜度和建模難度會對一些要素產生影響,而這些要素關係到專案能否成功以及能否獲得認同。

從系統複雜度及建模難度兩個方面瞭解資料科學

1. 可理解性:不具備資料科學背景知識的人能否理解你的解決方案呢?專案的複雜程度決定了人們是否能理解你的創新之處。

2. 可測試性:你的解決方案是否經得起檢驗?大多數簡單專案都能通過二選一簡單測試得到檢驗,而其他比較複雜的專案測試就比較困難了,例如檢驗一個物流流程是否已經達到了最優狀態。

3. 可信度:這一要素實際上是與上面兩個因素密切相關的。如果人們無法理解你的方案,而你也無法證明你的方案是更好的/能帶來商業增值的,他們就“無法信任你”。

4. 問題界定:隨著專案複雜程度的增加,表述問題本身都會成為問題——這是因為複雜程度越高,人們對事物的看法也就越難統一。

具體來說,在專案開始時,也許通過計算就可以解決問題了,比如說概率的計算(購買概率等)。簡單的方案更易於被人們接受,資料科學家也可以通過簡單的方案加深對這一問題的理解,而且測試也會變得更容易,比如說,通過二選一測試就能證明某個資料科學方法能夠為公司創造價值。

接下來的方案可以變得更復雜,比如說,增加更多引數,或者執行更復雜的機器學習模型。由於這一專案在第一階段已經取得了大家的信任,資料科學家此時已經為它的成功打下了堅實的基礎。

讓獨角獸成為現實

現在,一個新的資料科學軟體——獨角獸軟體已經完成了開發和測試,真正的工作開始了:讓你的獨角獸獲得生命。此時,思考軟體的特性是非常重要的。軟體應具備以下特性:

1. 穩定性:軟體要有一定的容錯性,不會出現意外的執行狀況。

2. 可維護性:軟體應易於更新、修改和修復。

3. 可擴充套件性:軟體的執行必須平穩流暢,不受外界因素的影響(如資料量等)。

4. 再現性:輸入相同的資訊,必須得出相同的結果。

最後的程式碼中只有一小部分用於處理實際的資料科學問題(見下圖)。大部分程式碼處理的都是資料收集、有效性、特徵抽取、IT系統配置或者與IT基礎設施互動方面的任務。

資料科學獨角獸的工作:資料科學軟體只是IT基礎設施的一部分,只有一小部分的程式碼能真正參與到軟體的工作中。

因此,對於軟體工程技術,資料科學家需要掌握的包含以下技能:

1. 學習一門程式語言及其基本概念:無論學R語言、Python還是Java都沒有關係。最重要的是熟悉一門程式語言並掌握其概念。把它當做你的一門課程去學習就好了。

2. SQL(結構化查詢語言)和資料倉庫:SQL是每個資料科學專案的基礎,也是一項重要的技能。熟悉資料倉庫的概念,瞭解不同的資料庫。學習資料庫的自動查詢。

3. 版本控制:資料科學軟體會不斷迭代,從簡單到複雜,到最後擁有自己的特色。如果學會了一種版本控制框架,比如Git,你就能記錄版本的迭代,並且將程式碼和知識與你的同事分享。

4. “命令列”:資料科學家會經常需要配置伺服器或者更新程式包。瞭解最常用的命令列是非常有用的。

5. 其他能幫助理解如何建立成功的資料科學工作流的實用工具:Docker(用於控制環境)和Jenkins(用於自動執行程式碼),以及其他有趣技術,如雲服務(亞馬遜AWS、Google雲端計算平臺、微軟Azure)和Kubernetes等。

保持獨立,保持求知慾

一個人是沒有辦法掌握所有知識的。建議大家學習那些感興趣的技能,這有兩個好處:讓你保持動力,使你與眾不同。保持與外界的聯絡,多參加些論壇。柏林等城市甚至為有抱負的資料科學家們舉辦晚宴(比如AI Guild)。

最後,要永遠對新知識保持開放的心態,不要放棄你的求知慾,因為——最出色的資料科學家都有一個共同點:他們都有難以想象的求知慾。

留言 點贊 關注

我們一起分享AI學習與發展的乾貨

歡迎關注全平臺AI垂類自媒體 “讀芯術”

(新增小編微信:dxsxbb,加入讀者圈,一起討論最新鮮的人工智慧科技哦