只有通才才能成功?2021年,數據科學家該如何修煉?
本文轉載自公眾號“讀芯術”(ID:AI_Discovery)
幾年前,我剛開始學習數據科學時,大多數求職招聘都要求必須有數學、統計學或類似學科的博士學位,或者至少是碩士學位。這幾年,情況有所變化。
隨著機器學習庫的發展,算法背后的復雜性大大降低,以及人們認識到,將機器學習實際應用于解決商業問題,需要一套通常僅靠學術學習無法獲得的技能?,F在,公司雇傭數據科學家的依據是他們從事應用數據科學的能力,而不是研究能力。
盡早應用數據科學帶來商業價值需要非常實用的技能。此外,隨著越來越多的公司將數據和機器學習解決方案遷移到云上,對數據科學家來說,了解與此相關的新工具和技術變得至關重要。
我相信數據科學家只從事數據建模,使用數據工程師收集的數據,然后將模型交給軟件工程師團隊投入生產的時代已經一去不復返了,尤其是在亞馬遜、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
本文想強調數據科學家所需技能方面的一些關鍵趨勢。這個清單可能有所遺漏。要成為一名成功的數據科學家,還需要更多的技能和經驗。