只有通才才能成功?2021年,數(shù)據(jù)科學(xué)家該如何修煉?
本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)
幾年前,我剛開始學(xué)習(xí)數(shù)據(jù)科學(xué)時(shí),大多數(shù)求職招聘都要求必須有數(shù)學(xué)、統(tǒng)計(jì)學(xué)或類似學(xué)科的博士學(xué)位,或者至少是碩士學(xué)位。這幾年,情況有所變化。
隨著機(jī)器學(xué)習(xí)庫(kù)的發(fā)展,算法背后的復(fù)雜性大大降低,以及人們認(rèn)識(shí)到,將機(jī)器學(xué)習(xí)實(shí)際應(yīng)用于解決商業(yè)問題,需要一套通常僅靠學(xué)術(shù)學(xué)習(xí)無(wú)法獲得的技能?,F(xiàn)在,公司雇傭數(shù)據(jù)科學(xué)家的依據(jù)是他們從事應(yīng)用數(shù)據(jù)科學(xué)的能力,而不是研究能力。
盡早應(yīng)用數(shù)據(jù)科學(xué)帶來(lái)商業(yè)價(jià)值需要非常實(shí)用的技能。此外,隨著越來(lái)越多的公司將數(shù)據(jù)和機(jī)器學(xué)習(xí)解決方案遷移到云上,對(duì)數(shù)據(jù)科學(xué)家來(lái)說(shuō),了解與此相關(guān)的新工具和技術(shù)變得至關(guān)重要。
我相信數(shù)據(jù)科學(xué)家只從事數(shù)據(jù)建模,使用數(shù)據(jù)工程師收集的數(shù)據(jù),然后將模型交給軟件工程師團(tuán)隊(duì)投入生產(chǎn)的時(shí)代已經(jīng)一去不復(fù)返了,尤其是在亞馬遜、Facebook和谷歌等科技巨頭以外的公司。在大多數(shù)公司中,除了一些非常大的技術(shù)團(tuán)隊(duì),團(tuán)隊(duì)中要么沒有可用的資源,要么任務(wù)優(yōu)先級(jí)會(huì)和時(shí)間沖突。
Oralytics的首席顧問Brendan Tierney表示:“說(shuō)到數(shù)據(jù)科學(xué)家,你需要‘樣樣通,樣樣不精’,但或許更恰當(dāng)?shù)恼f(shuō)法是‘萬(wàn)事皆通但也要有所專長(zhǎng)’。”
數(shù)據(jù)科學(xué)家為實(shí)現(xiàn)最大的商業(yè)價(jià)值,要涉及整個(gè)模型開發(fā)生命周期的工作。具備開發(fā)數(shù)據(jù)管道、執(zhí)行數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、數(shù)學(xué)、統(tǒng)計(jì)學(xué)、數(shù)據(jù)工程、云計(jì)算和軟件工程方面的工作知識(shí)。這意味著,隨著2021年的到來(lái),數(shù)據(jù)科學(xué)家通才將成為大多數(shù)企業(yè)的首選。
本文并沒有完全涵蓋2021年成為數(shù)據(jù)科學(xué)家之所需,而是談到了新老技能中的關(guān)鍵技能,這些技能已成為每位成功的數(shù)據(jù)科學(xué)家在不久的將來(lái)必不可少的技能。
1. Python3
在某些情況下,數(shù)據(jù)科學(xué)家可能會(huì)使用R,但一般來(lái)說(shuō),如果你現(xiàn)在從事的是應(yīng)用數(shù)據(jù)科學(xué),那么Python將是最值得學(xué)習(xí)的編程語(yǔ)言。
Python 3(最新版本)現(xiàn)在已經(jīng)堅(jiān)定地成為大多數(shù)應(yīng)用程序的默認(rèn)版本,因?yàn)榇蟛糠謳?kù)自2020年1月1日起就放棄支持Python 2了。如果你現(xiàn)在正在學(xué)習(xí)用于數(shù)據(jù)科學(xué)的Python,那么選擇與該版本兼容的課程是很重要的。
你需要對(duì)該語(yǔ)言的基本語(yǔ)法以及如何編寫函數(shù)、循環(huán)和模塊有良好的理解,熟悉Python中面向?qū)ο蠛秃瘮?shù)式編程,能夠開發(fā)、執(zhí)行和調(diào)試程序。
2. Pandas
Pandas仍然是用于數(shù)據(jù)操縱、處理和分析的第一大Python庫(kù)。在2021年,作為數(shù)據(jù)科學(xué)家,掌握Pandas仍然是最重要的技能之一。
數(shù)據(jù)是任何數(shù)據(jù)科學(xué)項(xiàng)目的核心,而Pandas是能夠從中提取、清理、處理和獲取深刻見解的工具。如今,大多數(shù)機(jī)器學(xué)習(xí)庫(kù)通常也將Pandas DataFrames作為標(biāo)準(zhǔn)輸入。
3. SQL和NoSQL
SQL自20世紀(jì)70年代就出現(xiàn)了,但它仍然是數(shù)據(jù)科學(xué)家最重要,也是最需要的技能之一。絕大多數(shù)企業(yè)使用關(guān)系數(shù)據(jù)庫(kù)分析存儲(chǔ)數(shù)據(jù),而作為數(shù)據(jù)科學(xué)家,SQL就是提供這些數(shù)據(jù)的工具。
NoSQL是指不以關(guān)系表的形式存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù),相反,它將數(shù)據(jù)存儲(chǔ)為鍵值對(duì)、寬列或圖形。NoSQL數(shù)據(jù)庫(kù)包括谷歌CloudBigtable和AmazonDynamoDB。
隨著企業(yè)收集的數(shù)據(jù)量不斷增加,以及非結(jié)構(gòu)化數(shù)據(jù)在機(jī)器學(xué)習(xí)模型中的使用越來(lái)越頻繁,組織開始轉(zhuǎn)向NoSQL數(shù)據(jù)庫(kù),要么作為對(duì)傳統(tǒng)數(shù)據(jù)庫(kù)的補(bǔ)充,要么作為它的替代品。這一趨勢(shì)可能會(huì)持續(xù)到2021年,作為一名數(shù)據(jù)科學(xué)家,至少對(duì)如何與這種形式的數(shù)據(jù)交互有一個(gè)基本的了解是很重要的。
4. 云
根據(jù)O’reilly今年1月發(fā)布的《2020年云計(jì)算報(bào)告》指出:88%的組織此時(shí)正在使用某種形式的云基礎(chǔ)設(shè)施。Covid-19的影響可能進(jìn)一步加速了這一進(jìn)程。“乍一看,云的使用似乎勢(shì)不可擋。超過(guò)88%的受訪者以各種形式使用云計(jì)算。大多數(shù)接受調(diào)查的組織還希望在未來(lái)12個(gè)月內(nèi)增加云計(jì)算的使用。”
在商業(yè)的其他領(lǐng)域使用云通常與基于云的數(shù)據(jù)存儲(chǔ)、分析和機(jī)器學(xué)習(xí)解決方案并駕齊驅(qū)。主要的云提供商(如谷歌云平臺(tái)、亞馬遜網(wǎng)絡(luò)服務(wù)和微軟Azure)正在加緊開發(fā)訓(xùn)練、部署和服務(wù)機(jī)器學(xué)習(xí)模型的工具。
作為2021年及以后的數(shù)據(jù)科學(xué)家,你很有可能要處理存儲(chǔ)在云數(shù)據(jù)庫(kù)(如谷歌BigQuery)中的數(shù)據(jù),并開發(fā)基于云的機(jī)器學(xué)習(xí)模型。隨著時(shí)間進(jìn)入2021年,對(duì)于這一領(lǐng)域的經(jīng)驗(yàn)和技能可能會(huì)有很高的需求。
5. Airflow
ApacheAirflow是一種開放源代碼的工作流管理工具,已被許多企業(yè)迅速采用以管理ETL流程和機(jī)器學(xué)習(xí)管道。許多大型科技公司(例如Google和Slack)都在使用它,而Google甚至在此項(xiàng)目之上構(gòu)建了他們的cloud composer工具。
越來(lái)越多人提到了Airflow,這是求職招聘上數(shù)據(jù)科學(xué)家的一項(xiàng)理想技能。如本文開頭所述,對(duì)于數(shù)據(jù)科學(xué)家而言,能夠構(gòu)建和管理自己的數(shù)據(jù)管道以進(jìn)行分析和機(jī)器學(xué)習(xí)將變得越來(lái)越重要。至少在短期內(nèi),Airflow的日益普及可能會(huì)持續(xù)下去,并且作為一種開源工具,這絕對(duì)是每位新興數(shù)據(jù)科學(xué)家都應(yīng)學(xué)習(xí)的東西。
6. 軟件工程
傳統(tǒng)的數(shù)據(jù)科學(xué)代碼很亂,并非都經(jīng)過(guò)良好的測(cè)試,而且不符合樣式約定。這對(duì)于初始數(shù)據(jù)探索和快速分析是很好的,但是在將機(jī)器學(xué)習(xí)模型投入生產(chǎn)時(shí),數(shù)據(jù)科學(xué)家將需要對(duì)軟件工程原理有很好的了解。
如果你打算成為數(shù)據(jù)科學(xué)家,那么你可能會(huì)將模型投入生產(chǎn)或至少會(huì)參與到生產(chǎn)過(guò)程之中。因此,你必須學(xué)會(huì)以下技能:
- 代碼約定,例如PEP 8 Python樣式指南
- 單元測(cè)試
- 版本控制,例如Github
- 依賴性和虛擬環(huán)境
- 容器,例如Docker
本文想強(qiáng)調(diào)數(shù)據(jù)科學(xué)家所需技能方面的一些關(guān)鍵趨勢(shì)。這個(gè)清單可能有所遺漏。要成為一名成功的數(shù)據(jù)科學(xué)家,還需要更多的技能和經(jīng)驗(yàn)。