全文共2593字,預計學習時長7分鐘
幾年前,我剛開始學習資料科學時,大多數求職招聘都要求必須有數學、統計學或類似學科的博士學位,或者至少是碩士學位。這幾年,情況有所變化。
隨著機器學習庫的發展,演算法背後的複雜性大大降低,以及人們認識到,將機器學習實際應用於解決商業問題,需要一套通常僅靠學術學習無法獲得的技能。現在,公司僱傭資料科學家的依據是他們從事應用資料科學的能力,而不是研究能力。
儘早應用資料科學帶來商業價值需要非常實用的技能。此外,隨著越來越多的公司將資料和機器學習解決方案遷移到雲上,對資料科學家來說,瞭解與此相關的新工具和技術變得至關重要。
我相信資料科學家只從事資料建模,使用資料工程師收集的資料,然後將模型交給軟體工程師團隊投入生產的時代已經一去不復返了,尤其是在亞馬遜、Facebook和谷歌等科技巨頭以外的公司。在大多數公司中,除了一些非常大的技術團隊,團隊中要麼沒有可用的資源,要麼任務優先順序會和時間衝突。
Oralytics的首席顧問Brendan Tierney表示:“說到資料科學家,你需要‘樣樣通,樣樣不精’,但或許更恰當的說法是‘萬事皆通但也要有所專長’。”
資料科學家為實現最大的商業價值,要涉及整個模型開發生命週期的工作。具備開發資料管道、執行資料分析、機器學習、數學、統計學、資料工程、雲計算和軟體工程方面的工作知識。這意味著,隨著2021年的到來,資料科學家通才將成為大多數企業的首選。
本文並沒有完全涵蓋2021年成為資料科學家之所需,而是談到了新老技能中的關鍵技能,這些技能已成為每位成功的資料科學家在不久的將來必不可少的技能。
1. Python3
在某些情況下,資料科學家可能會使用R,但一般來說,如果你現在從事的是應用資料科學,那麼Python將是最值得學習的程式語言。
Python 3(最新版本)現在已經堅定地成為大多數應用程式的預設版本,因為大部分庫自2020年1月1日起就放棄支援Python 2了。如果你現在正在學習用於資料科學的Python,那麼選擇與該版本相容的課程是很重要的。
你需要對該語言的基本語法以及如何編寫函式、迴圈和模組有良好的理解,熟悉Python中面向物件和函數語言程式設計,能夠開發、執行和除錯程式。
2. Pandas
Pandas仍然是用於資料操縱、處理和分析的第一大Python庫。在2021年,作為資料科學家,掌握Pandas仍然是最重要的技能之一。
資料是任何資料科學專案的核心,而Pandas是能夠從中提取、清理、處理和獲取深刻見解的工具。如今,大多數機器學習庫通常也將Pandas DataFrames作為標準輸入。
3. SQL和NoSQL
SQL自20世紀70年代就出現了,但它仍然是資料科學家最重要,也是最需要的技能之一。絕大多數企業使用關係資料庫分析儲存資料,而作為資料科學家,SQL就是提供這些資料的工具。
NoSQL是指不以關係表的形式儲存資料的資料庫,相反,它將資料儲存為鍵值對、寬列或圖形。NoSQL資料庫包括谷歌CloudBigtable和AmazonDynamoDB。
隨著企業收集的資料量不斷增加,以及非結構化資料在機器學習模型中的使用越來越頻繁,組織開始轉向NoSQL資料庫,要麼作為對傳統資料庫的補充,要麼作為它的替代品。這一趨勢可能會持續到2021年,作為一名資料科學家,至少對如何與這種形式的資料互動有一個基本的瞭解是很重要的。
4. 雲
根據O’reilly今年1月釋出的《2020年雲計算報告》指出:88%的組織此時正在使用某種形式的雲基礎設施。Covid-19的影響可能進一步加速了這一程序。“乍一看,雲的使用似乎勢不可擋。超過88%的受訪者以各種形式使用雲計算。大多數接受調查的組織還希望在未來12個月內增加雲計算的使用。”
在商業的其他領域使用雲通常與基於雲的資料儲存、分析和機器學習解決方案並駕齊驅。主要的雲提供商(如谷歌雲平臺、亞馬遜網路服務和微軟Azure)正在加緊開發訓練、部署和服務機器學習模型的工具。
作為2021年及以後的資料科學家,你很有可能要處理儲存在雲資料庫(如谷歌BigQuery)中的資料,並開發基於雲的機器學習模型。隨著時間進入2021年,對於這一領域的經驗和技能可能會有很高的需求。
5. Airflow
ApacheAirflow是一種開放原始碼的工作流管理工具,已被許多企業迅速採用以管理ETL流程和機器學習管道。許多大型科技公司(例如Google和Slack)都在使用它,而Google甚至在此專案之上構建了他們的cloud composer工具。
越來越多人提到了Airflow,這是求職招聘上資料科學家的一項理想技能。如本文開頭所述,對於資料科學家而言,能夠構建和管理自己的資料管道以進行分析和機器學習將變得越來越重要。至少在短期內,Airflow的日益普及可能會持續下去,並且作為一種開源工具,這絕對是每位新興資料科學家都應學習的東西。
6. 軟體工程
傳統的資料科學程式碼很亂,並非都經過良好的測試,而且不符合樣式約定。這對於初始資料探索和快速分析是很好的,但是在將機器學習模型投入生產時,資料科學家將需要對軟體工程原理有很好的瞭解。
如果你打算成為資料科學家,那麼你可能會將模型投入生產或至少會參與到生產過程之中。因此,你必須學會以下技能:
· 程式碼約定,例如PEP 8 Python樣式指南
· 單元測試
· 版本控制,例如Github
· 依賴性和虛擬環境
· 容器,例如Docker
本文想強調資料科學家所需技能方面的一些關鍵趨勢。這個清單可能有所遺漏。要成為一名成功的資料科學家,還需要更多的技能和經驗。
我們一起分享AI學習與發展的乾貨