為什么你不應(yīng)該成為一名數(shù)據(jù)科學(xué)通才
大數(shù)據(jù)文摘出品
編譯:周家樂(lè)、狗小白、蔣寶尚
數(shù)據(jù)科學(xué)家似乎個(gè)個(gè)都是全才,他們知識(shí)面很廣,即寫(xiě)的了代碼,又分析的了業(yè)務(wù),沒(méi)事還能整個(gè)數(shù)學(xué)模型調(diào)調(diào)參數(shù)。
似乎,數(shù)據(jù)科學(xué)家涉及的領(lǐng)域越廣,越能突出數(shù)據(jù)科學(xué)這份職業(yè)的價(jià)值。
但是,情況恰恰相反!
有著豐富的數(shù)據(jù)科學(xué)經(jīng)驗(yàn)的SharpestMinds聯(lián)合創(chuàng)始人Jeremie Harris告訴你,千萬(wàn)不要成為一個(gè)數(shù)據(jù)科學(xué)通才!
以下是他以***人稱(chēng)的論述,enjoy
我在公司幫新手規(guī)劃數(shù)據(jù)科學(xué)職業(yè)發(fā)展的時(shí)候,通常首先建議他們先去考慮一下自己想成為什么樣的數(shù)據(jù)科學(xué)家,而不是直接推薦一個(gè)新的庫(kù)或工具,或者一些寫(xiě)簡(jiǎn)歷的技巧給他們。
這個(gè)問(wèn)題之所以如此重要,是因?yàn)閿?shù)據(jù)科學(xué)涉及太多方面,以至于很難被一個(gè)人完全掌握。所以,對(duì)公司而言,與其雇一個(gè)什么都懂一點(diǎn)卻不精通的人,不如雇傭那些專(zhuān)才。
你可以試想一下你是一家計(jì)劃雇用數(shù)據(jù)科學(xué)家的公司。在你的腦海中幾乎存在一個(gè)需要尋求幫助才能解決的具體的問(wèn)題,該問(wèn)題需要一些相當(dāng)專(zhuān)業(yè)的技術(shù)知識(shí)和項(xiàng)目經(jīng)驗(yàn)。例如,一些公司將簡(jiǎn)單模型應(yīng)用于大型數(shù)據(jù)集,一些公司將復(fù)雜模型應(yīng)用于小型數(shù)據(jù)集,一些公司需要?jiǎng)討B(tài)地訓(xùn)練他們的模型,還有一些公司根本不使用傳統(tǒng)的模型。
解決上面例子中的每一個(gè)問(wèn)題所需要的技能組合完全不同,而讓人感到特別奇怪的是,每一個(gè)有志于數(shù)據(jù)科學(xué)的人得到的建議往往是一樣的:“學(xué)習(xí)如何使用Python,構(gòu)建一些分類(lèi)/回歸/聚類(lèi)的項(xiàng)目。”
其實(shí),出現(xiàn)這一現(xiàn)象的原因是包括我在內(nèi)的圈內(nèi)人造成的。因?yàn)樵陂e聊、博客帖子中,我們把過(guò)多的東西放到“數(shù)據(jù)科學(xué)”中。
為生產(chǎn)建一個(gè)強(qiáng)健的數(shù)據(jù)通道?這是一個(gè)“數(shù)據(jù)科學(xué)問(wèn)題”。創(chuàng)造一種新型的神經(jīng)網(wǎng)絡(luò)?這是一個(gè)“數(shù)據(jù)科學(xué)問(wèn)題”。
這往往導(dǎo)致有志于數(shù)據(jù)科學(xué)的人們失去對(duì)特定問(wèn)題的深入研究,從而成為泛泛之輩。要知道,人才市場(chǎng)上已經(jīng)滿(mǎn)是所謂的通才,他們很難再得到市場(chǎng)的青睞或取得突破。
但是,如果你自己不清楚都有哪類(lèi)常見(jiàn)問(wèn)題需要你去深入研究,那你就很難避免流于平庸。
我們把圈內(nèi)出現(xiàn)的問(wèn)題歸結(jié)為以下五類(lèi):
1. 數(shù)據(jù)工程師
職位描述:處理大量數(shù)據(jù)的公司,并管理數(shù)據(jù)通道。這意味著,當(dāng)需要時(shí),你要能確保有效地從數(shù)據(jù)源收集和檢索數(shù)據(jù),并進(jìn)行清理和預(yù)處理。
為什么它很重要:如果你只處理過(guò)相對(duì)小的(<5Gb)保存為.csv或.txt文件的數(shù)據(jù)集,那么你可能很難理解為什么會(huì)有一些人的全職工作是構(gòu)建和維護(hù)數(shù)據(jù)管道。
這里有幾個(gè)原因:
- 一個(gè)50Gb的數(shù)據(jù)集對(duì)計(jì)算機(jī)的RAM來(lái)說(shuō)太大了,所以你通常需要其他方法將其輸入到你的模型中。
- 處理這么大規(guī)模的數(shù)據(jù)需要花費(fèi)大量時(shí)間,并且經(jīng)常需要冗余存儲(chǔ)。管理數(shù)據(jù)的存儲(chǔ)也需要專(zhuān)門(mén)的技術(shù)訣竅。
要求:你將使用的技術(shù)包括Apache Spark、Hadoop和/或Hive,以及Kafka。你很可能還需要有一個(gè)扎實(shí)的SQL基礎(chǔ)。
你要處理的問(wèn)題聽(tīng)起來(lái)像:
“我如何構(gòu)建一個(gè)能夠每分鐘處理10000個(gè)請(qǐng)求的數(shù)據(jù)管道?”
“如何清理數(shù)據(jù)集而不用將其全部加載到RAM中?”
2. 數(shù)據(jù)分析員
職位描述:將數(shù)據(jù)轉(zhuǎn)換成可指導(dǎo)業(yè)務(wù)發(fā)展的商業(yè)洞察力。你會(huì)是技術(shù)團(tuán)隊(duì)和商業(yè)戰(zhàn)略、銷(xiāo)售或營(yíng)銷(xiāo)團(tuán)隊(duì)的橋梁。數(shù)據(jù)可視化將成為你日常工作的重要組成部分。
為什么它很重要:純技術(shù)人員通常很難理解為什么數(shù)據(jù)分析員如此重要,但事實(shí)是他們就是很重要。這些人需要將經(jīng)過(guò)訓(xùn)練和測(cè)試的模型和大量用戶(hù)數(shù)據(jù)轉(zhuǎn)換為讓人易于理解的形式,以便根據(jù)數(shù)據(jù)分析結(jié)論設(shè)計(jì)業(yè)務(wù)策略。數(shù)據(jù)分析員幫助確保數(shù)據(jù)科學(xué)團(tuán)隊(duì)不會(huì)浪費(fèi)時(shí)間在不能提供業(yè)務(wù)價(jià)值的問(wèn)題上面。
要求:你將使用的技術(shù)包括Python、SQL、Tableau和Excel。你還需要成為一個(gè)好的溝通者。
你要處理的問(wèn)題聽(tīng)起來(lái)像:
“什么驅(qū)動(dòng)了用戶(hù)的增長(zhǎng)?”
“我們?nèi)绾蜗蚬芾韺咏忉專(zhuān)罱脩?hù)費(fèi)用的增加會(huì)減少客戶(hù)?”
3. 數(shù)據(jù)科學(xué)家
職位描述:清理和探索數(shù)據(jù)集,并做出有商業(yè)價(jià)值的預(yù)測(cè)。日常工作包括訓(xùn)練和優(yōu)化模型,并將它們部署到生產(chǎn)中。
為什么它很重要:當(dāng)你有一大堆數(shù)據(jù),以至于人類(lèi)無(wú)法解析,同時(shí)這些數(shù)據(jù)也很珍貴以至于不能忽略它們時(shí),你需要通過(guò)一些辦法從中提取一些可被接受的見(jiàn)解。這是數(shù)據(jù)科學(xué)家的基本工作:將數(shù)據(jù)轉(zhuǎn)換成可被理解的結(jié)論。
要求:你將使用的技術(shù)包括Python、scikit-learn、Pandas、SQL,可能還有Flask、Spark和/或TensorFlow/PyTorch。一些數(shù)據(jù)科學(xué)職位純粹是技術(shù)性的,但是大多數(shù)職位還需要你具有商業(yè)頭腦,這樣你就不會(huì)老想著去解決沒(méi)有人需要解決的問(wèn)題。
你要處理的問(wèn)題聽(tīng)起來(lái)像:
“我們到底有多少種不同類(lèi)型的用戶(hù)?”
“我們能建立一個(gè)模型來(lái)預(yù)測(cè)哪些產(chǎn)品能賣(mài)給哪些用戶(hù)嗎?”
4. 機(jī)器學(xué)習(xí)工程師
職位描述:建立、優(yōu)化和部署機(jī)器學(xué)習(xí)模型到生產(chǎn)中。通常需要把機(jī)器學(xué)習(xí)模型當(dāng)作API或組件來(lái)處理,把它們嵌入到全棧應(yīng)用程序或硬件中,但是你也可能會(huì)被要求自行設(shè)計(jì)模型。
要求:使用的技術(shù)包括Python、JavaScript、scikit-learn、TensorFlow / PyTorch(和/或企業(yè)級(jí)深度學(xué)習(xí)框架)和SQL或MongoDB(通常用作app數(shù)據(jù)庫(kù))。
你要處理的問(wèn)題聽(tīng)起來(lái)像:
“如何將這種Keras模型集成到我們的Javascript應(yīng)用程序中?”
“如何減少推薦系統(tǒng)的預(yù)測(cè)時(shí)間和預(yù)測(cè)成本?”
5. 機(jī)器學(xué)習(xí)研究員
職位描述:尋找新的方法來(lái)解決數(shù)據(jù)科學(xué)和深度學(xué)習(xí)中的挑戰(zhàn)性問(wèn)題。沒(méi)有現(xiàn)成的解決方案給你,需要自己去制定。
要求:你將使用的技術(shù)包括Python、TensorFlow/PyTorch和SQL。
你要處理的問(wèn)題聽(tīng)起來(lái)像:
“我如何才能提高我們模型的準(zhǔn)確性,使之更接近***水平?”
“自定義優(yōu)化程序有助于減少訓(xùn)練時(shí)間嗎?”
這里列出的五種工作描述并不是在所有情況下都是獨(dú)立的。例如,在初創(chuàng)公司的早期,數(shù)據(jù)科學(xué)家可能還必須是數(shù)據(jù)工程師和數(shù)據(jù)分析師。但是,大多數(shù)工作都可以被劃分為這幾類(lèi)工作中的一種,而且公司規(guī)模越大,數(shù)據(jù)科學(xué)工作的劃分越貼近這里所列出的類(lèi)別。
總而言之,要記住的是,為了得到聘用,你***能培養(yǎng)一個(gè)更加專(zhuān)注的技能集:如果你只是想成為一名數(shù)據(jù)分析員,不要著急去學(xué)習(xí)TensorFlow;如果你是想成為一名機(jī)器學(xué)習(xí)研究人員,沒(méi)必要先去學(xué)習(xí)Pyspark。
相反,你需要考慮你想幫助公司創(chuàng)造什么樣的價(jià)值,并且讓自己善于創(chuàng)造這種價(jià)值。相對(duì)于任何其它方式,這是得到offer***的方式。
相關(guān)報(bào)道:
https://towardsdatascience.com/why-you-shouldnt-be-a-data-science-generalist-f69ea37cdd2c
【本文是51CTO專(zhuān)欄機(jī)構(gòu)大數(shù)據(jù)文摘的原創(chuàng)文章,微信公眾號(hào)“大數(shù)據(jù)文摘( id: BigDataDigest)”】