如何成為一名數據科學家?來聽聽 Netfix 資深工程師的入門攻略

【我們為什麼挑選這篇文章】數據科學是什麼?數據分析?機器學習?還是數據工程?答案可能有很多,但也許只有直接與某個公司的數據科學家交流,才能了解該公司是如何看待數據科學的。

本文從 Netflix 舉辦的數據科學的研討會,帶你掌握從零到一成為企業搶手的數據科學家,一起來看看吧!(責任編輯:鄧天心)

數據科學是一個非常抽象的概念。

有些人認為它是數據分析,也有一些人認為它是機器學習,還有些認為它帶有一些數據工程的味道。

業界對數據科學這一概念難以達成一致有很多原因,其中一點就是, 現在大範圍內的崗位都可能涉及數據科學,並且這些崗位的職責都不盡相同

此外,不同公司之間的細微差別,甚至是同一公司內部的不同團隊之間的細微差別都會導致對數據科學的理解不同。

因此,只有直接與某個公司的數據科學家交流才能了解該公司是如何看待數據科學的。

訊息不對稱是一個令人遺憾的事實,它阻礙了許多人追尋數據科學以及數據工程這一職業的道路。

如果我們投入越多的工作時間來解決這一棘手的問題,那麼這一阻礙也就能越早被突破。關於這一點,推荐一個社會教育企業——HasBrain,該企業致力於填補信息缺口並且為想要學習並找到通往數據科學和數據工程道路的人提供幫助。

HasBrain: http://www.hasbrain.com/

如何構建高效數據科學?

現實世界的數據科學項目與理論上的有何不同,如何構建數據科學項目才能更高效?

Becky 在研討會上展示的數據科學項目體係對該問題總結得非常好。

以下是 Becky 的總結

步驟一:從了解業務問題開始

下面的幻燈片,是 Becky 就如何定義成功而列出的一系列業務問題。

如果你想要很好地證明你的概念,你需要一開始要以一個簡單模型作為基準,然後從增量改善(incremental improvement)的角度來評估模型的價值。

否則,你會一直困擾於 75% 的準確度是否足夠好這樣的問題。

擁有物理學博士學位的 Becky 也提到,專業學者總是會仔細檢查到最後那 20%,以確保結果是無懈可擊的。

所以,如果博士生們想要成為數據科學家,這一點是需要特別注意的。

步驟二:制定技術計劃

除了下面的幻燈片中列出的細節,Becky 還強調了溝通的重要性,同時還提出要站在利益相關者的角度思考。

因為利益相關者最關心的未必是機器學習的誤差測度,所以要學會如何將業務目標轉化為價值優化問題,這一點極為關鍵。

相較於「重新發明輪子」(Reinventing the wheel),弄明白和學會使用現有的技術可以為我們節省很多時間。

TO 編按:

重新發明輪子:重新創造一個已有的或是早已被 最佳化 過的基本方法,此用語常出現在 軟體開發 或其他工程領域中。

現有的用於監督學習的技術,如預測建模或分類,都有很好的文檔記錄。

然而,在相對更先進以及更專業的機器學習領域(例如 NLP 和圖像分類),新文章不斷地發表,技術不斷地更新。

因此,即時了解最新和最好的研究論文是數據科學家們需要牢記的黃金準則。

步驟三:對概念進行初步驗證-> 不斷迭代/驗證直到成功或是無法再繼續-> 向利益相關者傳達結果

如果你對工作流程甚至是數據科學家使用的工具或庫還有任何的疑問,都可以參考 Becky 在項目構建中對「doing the project」這部分的詳細描述。

步驟四:模型產品化

如果一些數據科學家告訴你必須要學會編寫產品級代碼,那麼,他們可能需要獨立處理模型產品化,而不是交給機器學習工程師或是軟體工程師。

模型產品化本質上就是指不要在現有的模型輸出上停滯不前。你的結果輸出是產品的一部分,並且會改變用戶的實際體驗。

你的代碼也會成為更大的產品代碼庫的一部分,例如,如果你歸類用戶是否會在未來兩週內流失,被預測為會流失的用戶和被預測為不會流失的用戶可能會有不同的用戶界面(UI)。

實際上,你是為其他團隊創建了一個 API 來調用你的模型並獲得模型輸出。

你可能需要重構你的代碼,此時,只要 API 沒有中斷並且終端用戶體驗是無縫的,你就可以不斷地升級模型。

Becky 自學了工作中要用到的軟體工程方面的知識,學會使代碼模塊化(modularity),以實現可重複性並提高算法效率。

甚至有時,可能會參與到軟體工程師或是數據工程師的團隊中。

這不僅取決於工作的複雜性,還取決於服務等級協議 (Service Level Agreement, SLA)。

例如,如果你的 API 需要一直處於運行狀態,則可能需要更廣泛的代碼審查或軟體工程團隊的直接參與。

溝通與問題解決

在講述了數據科學項目的構建之後,Becky 更多地談到了有效溝通和解決問題的技巧的重要性。

如何向非技術人員的利益相關者們解釋複雜的數據科學概念,是獲得他們買進支持的重要環節。

Becky 將她在攻讀物理學博士學位期間學會的一項技能運用於此——將複雜問題分解成小塊並逐一解決。

類似地,她就將利益相關者的高階問題(high level question)進行分解,並找出數據科學項目可以提供價值的地方。

如果沒有數據科學家的工作經驗,想要勝任這部分工作是不容易的,因為包括 Kaggle 項目在內的大多數實踐項目都是從已經定義明確的數據科學問題開始的。

Becky 談到,這些軟技能其實是從經驗中獲得的,當然也可以從有效的反饋中學習。

與此同時,她也會閱讀一些基礎書籍來熟悉商業中的通用概念和術語。

另外,許多其他資深的數據科學家們都建議,如果想要進一步發展自己的商業頭腦,則需要閱讀一些產品管理的書籍和文章。

實踐練習

這個項目使用 WDI 數據來預測業務啟動成本,非常適合初學者。

如果你是機器學習新人,或是剛剛完成一些監督學習的網絡基礎課程,這將會是一個很好的額外練習機會。

hands-on exercise::https://github.com/NFLX-WIBD/WIBD-Workshops-2018

現在,讓我們回到之前談論的問題解決和溝通方面,Becky 就此提出了一個業務問題:「在不同的國家開展業務都有多難?」

她還確立了一個項目目標,即預測在不同國家開展業務的成本。

如果這是一個實際的工作項目,對於開展業務的便利性來說,這些預測成本要如何成為整體評估決策中的一部分,我想,她可能需要與利益相關者就此問題達成一致。

最後,希望這個總結對你有幫助。

祝所有數據科學愛好者們好運!

並再次感謝 Netflix 團隊的慷慨分享!另有演示的幻燈片和錄像可供使用。

Presentation slides:https://github.com/NFLX-WIBD/WIBD-Workshops-2018/blob/master/Data%20Science/WIBD%20-%20Data%20Science.pdf

相關報導:https://towardsdatascience.com/a-peek-into-a-netflix-data-scientists-day-66bf3dacabb9

__

(本文經公眾號 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈如何成為一名數據科學家?聽聽來自 Netfix 的老司機怎麼說 〉。)

延伸閱讀

Airbnb 數據團隊主管:把數據科學家的工作分成「三種方向」,才能發揮最大效益!

數據科學家們的無知困境:只會 coding ,卻忘記用更大的格局思考問題

地表最強大數據系統學習法:想變成數據科學家、工程師就看這篇!


邊緣運算的應用可行性在人工智慧技術演進下快速演進
台灣應該如何從中挖出商機,看見未來?

10/12(五)9:30 ~18:00,南港展覽館 504 會議室
把握數位轉型升級關鍵要素

立即購票

點關鍵字看更多相關文章: