大家對資料科學家的預期是應該懂很多——機器學習、電腦科學、統計、數學、資料視覺化、溝通,以及深度學習。這些領域牽涉到很多的語言、框架以及技術的學習。資料科學家要想成為僱主想要的那種人才的話,應該把學習的精力放在哪些地方呢?

我到求職網站去尋找對資料科學家最迫切的技能需求是什麼。我看了一般的資料科學技能,也分別看了對語言和工具的要求。2018年10月10日,我在LinkedIn、Indeed、SimplyHired、Monster以及AngelList上面搜尋了求職列表。下面這張圖列出了每個網站對資料科學家的需求數量。

我看了很多求職列表和調查以找出最常見的技能。像管理這類的術語就不進行比較了,因為可以用到的場合太多了。

所有的搜尋都是針對美國,使用了“data scientist(資料科學家)”、“[keyword]”作為搜尋關鍵字。採用精確匹配以減少搜尋結果數。然而,這個方法確保了結果對資料科學家職位是相關的,並且對所有搜尋術語都產生類似的作用。

AngelList提供的是列出資料科學家崗位的公司數而不是崗位數。我把AngelList從所有分析裡面排除掉了,因為其搜尋演算法似乎按照OR型的邏輯搜尋進行,沒有辦法改成AND。如果你尋找的是“資料科學家”“TensorFlow”的話,AngelList也沒問題,因為這隻能在資料科學家崗位裡面找到,但如果你的關鍵字是“資料科學家”“react.js”的話,它返回的結果就太多了,其中會包括一大堆非資料科學家的崗位列表。

Glassdoor也被排除在我的分析之外。該網站聲稱在美國有26263個“資料科學家”職位,但是顯示出來的卻不超過900個。此外,它上面的資料科學家崗位數超過任何其他主流平臺3倍以上似乎極不可能。

LinkedIn上超過400個崗位列表都提到的通用技能以及超過200個崗位列表都提到的特別技術被納入到最終分析裡面。當然,這兩者之間會有一些交叉。結果已經被記錄進這張Google Sheet 裡面。

我下載了.csv檔案並且匯入到JupyterLab。然後我計算了出現比例並求出求職網站之間的平均數。

我還將軟體結果跟GlassDoor的一項研究(2017年上半年,針對資料科學家崗位列表)進行了對比。再結合KDNuggets使用情況調查的資訊,似乎一些技能正在變得越來月重要,而其他一些的相關性則在下降。後面我們會細談。

互動式圖表可以到我的Kaggle Kernel上面去看,額外分析可參見此處。視覺化我用的是Plotly。為了本文結合使用Plotly和JupyterLab可費了一點功夫——相關指令可到我的Kaggle Kernel找,另外這裡也有Plotly的指令碼。

通用技能

下面這張圖反映的是僱主尋找最頻繁的資料科學家通用技能。

結果表明,分析和機器學習是資料科學家崗位的核心技能。從資料中發現洞察是資料科學的主要職能。機器學習則是要建立系統來預測表現,這是非常亟需的技能。

資料科學需要統計和電腦科學技能——這一點並不出奇。統計分析、電腦科學以及數學也是大學的專業,這大概對其出現頻率有幫助。

有趣的是溝通在將近一半的崗位列表中被提到。資料科學家需要將洞察與工作與他人進行溝通。

AI和深度學習的出現頻率沒有其他一些屬於那麼頻繁。然而,它們都屬於機器學習的子集。機器學習過去由其他演算法執行的任務正在被越來越多的深度學習演算法替代。比方說,大多數自然語言處理問題最好的機器學習演算法現在都是深度學習演算法。我預計深度學習技能在未來的需求會更加迫切,而機器學習也將日益變成深度學習的同義詞。

此外,哪些資料科學家的軟體工具是僱主想要尋求的呢?下面我們就來看看這個問題的答案。

技術技能

以下是僱主希望資料科學家掌握的排名靠前的20種語言、庫以及技術工具。

我們大概看一下其中最常見的技術技能。

Python

Python是需求最旺盛的語言。這門開源語言的流行度已經被很多人注意到。它對初學者很友好,有許多支援資源。絕大部分新的資料科學工具都相容它。

Python是資料科學家的主要語言。

R

R語言並不比Python落後多少。它一度是資料科學的主要語言。我反而對它的需求依然如此旺盛感到吃驚。這門開源語言的根在統計,至今在統計學家那裡仍非常流行。

Python或者R幾乎是每一個資料科學家崗位的必須。

SQL

SQL的需求也很高。SQL即結構化查詢語言(Structured Query Language),是與關係式資料庫的主要互動方式。SQL有時候會被資料科學界忽視,但這是一門值得掌握的技能,如果你打算切入求職市場的話。

Hadoop、Spark

接下來是Hadoop和Spark,這兩個都是出自Apache的大資料開源工具。

Apache Hadoop是一個利用商品化硬體搭建的計算機叢集對超大規模資料集進行分散式儲存和分散式處理的開源軟體平臺。

Apache Spark是一個有著優雅的、富有表現力的API,可讓資料工作者高效執行需要對資料集進行快速迭代存取的流處理、機器學習或者SQL負載的快速記憶體資料處理引擎。

相對於其他,這些工具在Medium和教程中被提及的次數少了點。我猜具備這些技能的求職者要比具備Python、R和SQL技能的求職者少得多。如果你掌握了一定Hadoop和Spark經驗的話,應該可以在競爭中獲得優勢。

Java、SAS

然後是Java和SAS。這兩門語言地位這麼高倒是出乎我的意料。其背後都有大公司的支援,支援至少都提供了一些免費的產品。不過Java和SAS在資料科學社群受到的關注都很少。

Tableau

對Tableau的需求次之。這個分析平臺和視覺化工具非常強大,易用,而且越來越流行。它有一個免費的公共版本,但是如果你想資料保持私有的話得花錢。

如果你對Tableau不熟悉的話,到Udemy上一門Tableau 10 A-Z快速瞭解一下絕對是值得的。宣告一下啊,我這麼建議可不是拿了佣金的——那是因為我上過這門課之後發現它的確有用。

下面這張表反映的是更大範圍內的語言、框架等資料科學軟體工具的需求情況。

歷史對比

GlassDoor對2017年1月到7月間資料科學家10大最常見的軟體技能進行了分析。以下是那些術語出現的頻度相對2018年10月在LinkedIn、Indeed、SimplyHired及Monster上出現頻度平均數的對比。

結果相當類似。我的分析和GlassDoor的分析都發現Python、R及SQL都是需求最旺盛的技能。兩份分析發現的需求前9大技術技能都是一樣的,儘管順序方面略有不同。

結果表明,相對於2017年上半年,R、Hadoop、Java、SAS及MatLab現在的需求略微下降,而對Tableau的需求則在上升。加上KDnuggets開發者調查這類的輔助性結果,我想這就是我預期的結論。R、Hadoop、Java和SAS均呈現出多年的下降趨勢,而對Tableau則顯示出明顯的上升勢頭。

建議

基於這些分析的結果,以下是對當前和想要成為資料科學家的人提供的提升自我價值的建議。

  • 證明你可以進行資料分析並且專注機器學習,要變得非常擅長。
  • 對你的溝通技能進行投資。我建議去讀讀《Made to Stick(讓創意更有粘性)》這本書來讓你的想法產生更大影響。此外還可以用Hemmingway Editor這款app改進寫作的清晰性。
  • 掌握一種深度學習框架。精通一種深度學習框架在精通機器學習中佔據了越來越大的部分。深度學習框架在使用情況、流行度等方面的對比情況可以看我的這篇文章。
  • 如果你要走學習Python和R語言之間做選擇的話,選Python。如果你對Python不感冒,那就選擇R。如果你也懂R的話在市場上一定會更加搶手。

當僱主尋找懂Python技能的資料科學家時,他們可能也會預期應徵者瞭解常見的python資料庫庫:numpy、pandas、scikit-learn以及matplotlib等。如果你想學習這裡提到的工具的話,我建議你看看以下這些資源:

  • DataCamp 及 DataQuest——均為定價合理的線上SaaS資料科學教育產品,可以一邊編碼一邊學習。這兩個都教若干的技術工具。
  • Data School上面有各種資源,其中就包括了一套很好的YouTube視訊,裡面解釋了資料科學的概念。
  • McKinney的《Python for Data Analysis》。這本書是pandas庫的主要作者寫的,聚焦的是pandas,同時也討論了python基礎、numpy以及scikit-learn的資料科學功能。
  • Müller & Guido的《Introduction to Machine Leaning with Python》。Müller是scikit-learn的主要維護者之一。這本書非常優秀,是學習用scikit-learn做機器學習的好讀物。
  • 如果你尋求去學習深度學習的話,我建議先從Keras 或者 FastAI 開始,然後再轉到TensorFlow或者PyTorch。Chollet的《Deep Learning with Python》是學習Keras的好資源。

除了這些推薦以外,我還建議你學習自己感興趣的東西,儘管在決定如何分配學習時間方面顯然有很多考慮因素。

LinkedIn

如果你要通過線上門戶找資料科學家崗位的話,我建議你從LinkedIn開始——這個地方總是有最多的結果。

如果你在求職網站上尋找工作或者職位的話,關鍵字很重要。每個網站搜“資料科學”返回的結果數幾乎是“資料科學家”的3倍。但如果你要找的就是資料科學家的工作的話,最好還是搜尋“資料科學家”。

無論你去哪裡找,我建議你要製作一份線上作品集來證明你擅長許多亟需的技能。我也建議你在LinkedIn檔案上展示你的技能。

原文來自:towardsdatascience.com  編譯自:36Kr