當前位置:
首頁 > 知識 > 數據科學家最需要什麼技能?

數據科學家最需要什麼技能?

選自Towards Data Science

作者:Jeff Hale

機器之心編譯

參與:高璇、路

本文整理了多個求職網站的信息,對僱主最希望數據科學家具備的技能進行了分析,並提供了一些建議。

數據科學家需要涉獵很多——機器學習、計算機科學、統計學、數學、數據可視化、通信和深度學習。這些領域中有幾十種語言、框架和技術可供數據科學家學習。那麼要想成為僱主需要的數據科學家,他們應該如何安排學習內容呢?

我搜索了招聘網站,想找到數據科學家最需要的技能。我分別研究了通用的數據科學技能和特定的語言、工具。2018 年 10 月 10 日,我在 LinkedIn、Indeed、SimplyHired、Monster 和 AngelList 上搜索了招聘信息。下表展示了每個網站列出的數據科學家職位數量。

我讀了許多招聘要求和調查,以找到最常用的技能。像「管理」這樣的詞會在不同背景的招聘信息中不斷提及,因此不列入比較範圍。

所有的搜索都是以「數據科學家」「[關鍵字]」格式展開的。使用精確匹配搜索雖然減少了搜索結果的數量,但確保了結果與數據科學家的職位相關,且對所有搜索關鍵詞產生類似的影響。

AngelList 提供的是具備數據科學家職位需求的公司數量,而不是職位數量。所以 AngelList 被排除在這兩種分析之外,因為它的搜索演算法是一種「OR」的邏輯搜索,無法變為「AND」。如果你搜索「數據科學家」「TensorFlow」這類只會在數據科學家職位上找到的詞,AngelList 表現得很好。但如果關鍵詞是「數據科學家」「react.js」,搜索結果中會出現太多不具備數據科學家職位需求的公司。

Glassdoor 也不在分析範圍之內。該網站表示,在美國有 26263 個「數據科學家」職位,但它顯示的職位數據不超過 900 個。此外,Glassdoor 上的數據科學家職位數量也不太可能是任何其他主流平台的三倍。

最終使用 LinkedIn 上的 400 多個職位信息用於對通用技能的分析,200 多個職位信息用於對特定技能的分析。當然有一些職位可能重複用於兩種分析。結果記錄在 Google 表格中(https://docs.google.com/spreadsheets/d/1df7QTgdAOItQJadLoMHlIZH3AsQ2j2_yoyvHOpsy9qU/edit?usp=sharing)。

我下載了 .csv 文件並將它們導入 JupyterLab。然後計算出事件發生的百分比,並針對招聘網站的數量進行平均運算。

我還將運算結果與 2017 年上半年 Glassdoor 對數據科學家職位要求的研究進行了比較。結合KDNuggets 的調查信息來看,有些技能變得越來越重要,有一些則變得無足輕重。我稍後會談到這些。

有關互動式圖表和其他分析,請參閱我的 Kaggle Kernel(https://www.kaggle.com/discdiver/the-most-in-demand-skills-for-data-scientists/)。我利用 Plotly 做了可視化。截至本文寫作時,使用 Plotly 與 JupyterLab 會有些爭議,在 Kaggle Kernel 末尾和 Plotly 文檔會有說明。

通用技能

以下是僱主最希望數據科學家具備的通用技能。

結果表明,分析和機器學習是數據科學家工作的核心。洞察數據是數據科學的一項基本功能。機器學習就是創造能夠預測性能的系統,這在現在是非常需要的。

數據科學需要統計和計算機科學技能。統計學、計算機科學和數學都是大學課程,這可能是這幾個詞出現頻率高的原因。

有趣的是,幾乎一半的職位要求中都提到了「溝通」。數據科學家需要具備與他人交流和合作的能力。

人工智慧和深度學習並不像其他詞出現地那麼頻繁,雖然它們是機器學習的子集。深度學習被用于越來越多的機器學習任務,取代了曾經的演算法。例如,現在針對大多數自然語言處理問題的最佳機器學習演算法是深度學習演算法。我預計未來人們將更明確地追尋深度學習技能,機器學習與深度學習的意義將更加接近。

僱主希望數據科學家使用哪些特定的軟體工具呢?下面我們來解決這個問題。

技術技能

下表是僱主希望數據科學家必備的前 20 種特定語言、庫和技術工具。

我們簡單看看最普遍的技術技能。

Python 是最受歡迎的語言。這個開源語言已經廣為流行了,它對初學者十分友好,有許多支持資源。絕大多數新的數據科學工具都與之兼容。Python 是數據科學家的主要語言。

R 和 Python 很接近。它曾經是數據科學的主要語言,目前它的需求量仍然很大。這種開源語言的基礎是統計學,所以它仍然很受統計學家的歡迎。

對於每個數據科學家來說,Python 或 R 語言是必不可少的。

SQL 也很受歡迎。SQL 表示結構化查詢語言(Structured Query Language),是與關係資料庫交互的主要方式。在數據科學領域,SQL 有時會被低估,但如果你打算進入職場,這是一塊很有價值的「敲門磚」。

接下來是 Hadoop 和 Spark,這兩款開源工具都來自 Apache,面向大數據。

Apache Hadoop 是一個開源軟體平台,利用商用硬體計算機集群進行分散式存儲和分散式處理。

Apache Spark 是一個基於內存的快速數據處理引擎,具有簡明而富有表達性的開發 API,允許數據工作人員高效地執行流、機器學習或 SQL 工作,這些工作負載需要對數據集進行快速迭代訪問。

這些工具的教程和 Medium 網站文章遠遠低於其他工具。我認為具備這些技能的求職者比會 Python、R 和 SQL 的少得多。如果你具備使用 Hadoop 和 Spark 的經驗,那麼你在競爭中會獲得優勢。

然後是 Java 和 SAS。我很吃驚這些語言排名會這麼高。這兩種語言背後都有大公司支持,而且至少有一些免費產品。但在數據科學社區中,Java 和 SAS 通常很少受到關注。

接下來是 Tableau。這個分析平台和可視化工具功能強大、易於使用,並且越來越流行。它有一個免費的公開版本,但是如果想保證數據的隱私性,需要付費。

如果不熟悉 Tableau,那麼在在線教育網站上學習速成課程是很值得考慮的,比如 https://www.udemy.com/tableau10/。

下表更完整地展示了需求最多的語言、框架和其他數據科學軟體工具。

前後對比

GlassDoor 曾分析了 2017 年 1 月至 7 月數據科學家最常用的 10 種軟體技能。以下是 GlassDoor 網站上出現這些辭彙的頻率與 LinkedIn、SimplyHired 和 Monster 在 2018 年 10 月的平均頻率的對比。

結果相當一致。我的分析和 GlassDoor 的研究結果都顯示 Python、R 和 SQL 是最受僱主歡迎的語言。top 9 技術技能也基本一致,只是順序略有不同。

結果表明,與 2017 年上半年相比,R、Hadoop、Java、SAS、MatLab 的需求有所減少,Tableau 的需求有所增加。以 KDnuggets developer survey 的調查結果作為補充,這一結果在我預期之中。KDnuggets 調查顯示,R、Hadoop、Java 和 SAS 都有明顯下降趨勢,Tableau 呈現明顯上升趨勢。

建議

根據這些分析的結果,我將向現在和以後有志於從事數據科學工作的人提供一些通用建議,關於如何使自己被市場廣泛接受。

證明你可以做數據分析,並專註於真正熟練地掌握機器學習。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

32分鐘訓練神經機器翻譯,速度提升45倍
專訪 | 短視頻那麼多,快手如何利用GRU實現各種炫酷的語音應用

TAG:機器之心 |