大數(shù)據(jù)文摘作品
編譯:王一丁、吳雙、Yawei Xia
學(xué)校里教的數(shù)據(jù)科學(xué)和實(shí)際工作中的數(shù)據(jù)科學(xué)的差距,往往讓很多剛畢業(yè)躊躇滿志的職場(chǎng)菜鳥陷入迷茫。
事實(shí)是,在學(xué)校里你可以把模型做得天花亂墜,但是在公司里你的老板需要用業(yè)績(jī)擔(dān)保為你的研究結(jié)果背書,這么一想就不難理解為什么在實(shí)際操作層面,公司的模型會(huì)更偏向保守,而一些套路很深的職場(chǎng)老鳥會(huì)意味深長(zhǎng)地說“簡(jiǎn)單的才是可用的”。
從數(shù)據(jù)科學(xué)畢業(yè)生到業(yè)界的數(shù)據(jù)科學(xué)家的轉(zhuǎn)型,需要很多經(jīng)驗(yàn)和行業(yè)知識(shí)打基礎(chǔ)。本文作者Rachael Tatman是Kaggle新上線的機(jī)器學(xué)習(xí)和數(shù)據(jù)分析課程的講師之一,最神奇的是她的背景:威廉瑪麗學(xué)院(美國(guó)第二古老的大學(xué))英語本科、華盛頓大學(xué)語言學(xué)博士,現(xiàn)任Kaggle數(shù)據(jù)分析師。讓我們看看她都給數(shù)據(jù)職場(chǎng)新人提了哪些建議。
數(shù)據(jù)科學(xué)與研究生學(xué)位
首先要說明一點(diǎn):想成為一名數(shù)據(jù)科學(xué)家,并不意味著你必須擁有一個(gè)研究生學(xué)位。一個(gè)教你如何做研究的學(xué)位并不是必須的,除非你在做尖端的機(jī)器學(xué)習(xí)研究(老實(shí)說,包括我在內(nèi)的99.9%的數(shù)據(jù)科學(xué)家并不是在做這件事?。?。任何一個(gè)企圖神話這份工作的人都可能只是想讓你花錢讀一個(gè)學(xué)位。
讀研期間,我確實(shí)學(xué)到了許多有價(jià)值的技能。我學(xué)會(huì)了如何處理混亂的數(shù)據(jù),問對(duì)的問題,在不同的場(chǎng)景下選擇適合的數(shù)據(jù)分析工具,為分析計(jì)算及機(jī)器學(xué)習(xí)編寫代碼,以及清晰地交流技術(shù)概念等等。這些是每一個(gè)數(shù)據(jù)科學(xué)家必要的技能。
但數(shù)據(jù)科學(xué)家需要的技能并不僅僅是這些。我從學(xué)校到工作崗位這段時(shí)間,經(jīng)歷過的最有挑戰(zhàn)的兩個(gè)階段:一是明確我缺少的技能是什么,二是明白如何快速地掌握它們。
如果你現(xiàn)在的境遇與我當(dāng)初相似,我的經(jīng)驗(yàn)應(yīng)該會(huì)對(duì)你很有幫助。下面列出的四項(xiàng)是我在研究生階段未學(xué)到的技能,以及一些如何學(xué)習(xí)它們的實(shí)用技巧。
SQL
據(jù)我了解,大多數(shù)以從事數(shù)據(jù)科學(xué)為業(yè)的研究生都熟悉R或Python(或?qū)烧叨己苁煜ぃ。?。與此同時(shí),卻只有很少一部分人熟悉SQL。那么這可能會(huì)是當(dāng)你準(zhǔn)備進(jìn)入數(shù)據(jù)科學(xué)行業(yè)工作時(shí)面臨的一個(gè)問題:在Python和R之后,SQL是數(shù)據(jù)科學(xué)中使用最廣泛的第三種工具(而你很可能對(duì)它的掌握程度并不夠)。
SQL(通常讀作“sequel”)是一種與數(shù)據(jù)庫(kù)交互的編程語言。SQL雖然在學(xué)術(shù)研究中用的不多,但在行業(yè)中卻應(yīng)用十分廣泛。好在SQL的基本知識(shí)比較簡(jiǎn)單并且有很多學(xué)習(xí)資源,上手并不難。
怎么學(xué)SQL:
選一門課。
網(wǎng)上有很多在線學(xué)習(xí)課程,包括可汗學(xué)院(Khan Academy),DataCamp,Stanford和Udemy。面授課程可能比較難找,但是如果你在本地的大學(xué)或社區(qū)大學(xué)有注冊(cè),或報(bào)名了編程訓(xùn)練營(yíng),也有機(jī)會(huì)找到。
相關(guān)資源:
https://www.khanacademy.org/computing/computer-programming/sql
https://www.datacamp.com/courses/intro-to-sql-for-data-science
https://lagunita.stanford.edu/courses/DB/SQL/SelfPaced/about
https://www.udemy.com/introduction-to-databases-and-sql-querying/
開發(fā)創(chuàng)建一個(gè)SQL案例集。
用查詢實(shí)例來說明你在真實(shí)數(shù)據(jù)庫(kù)上的操作能力是證明你熟悉這種語言的好辦法。一種方法是在Kaggle的BigQuery數(shù)據(jù)集上編寫核心程序(kernels,即托管的R或Python筆記本)。我整理了一份幫你快速入門的指南,HackerRank和SQLZoo上也有不少SQL的練習(xí)資源。
相關(guān)資源:
https://www.kaggle.com/rtatman/sql-scavenger-hunt-handbook/
https://www.hackerrank.com/domains/sql/select
https://sqlzoo.net
成為一名多面手
研究生院是很好的學(xué)習(xí)場(chǎng)所,日復(fù)一日的研究工作能幫助你拓展知識(shí)邊界。但隨著項(xiàng)目深入,你會(huì)發(fā)現(xiàn)你需要鉆研某一特定領(lǐng)域,且會(huì)越來越細(xì)分。最終你會(huì)成為最了解這一細(xì)分領(lǐng)域的人。這很好,學(xué)術(shù)研究就是會(huì)讓你成為這樣的又“精”又“?!钡娜?。
然而數(shù)據(jù)科學(xué)家卻不是這樣開展工作的。除非你足夠幸運(yùn),能夠一直在與你學(xué)術(shù)論文主題匹配的領(lǐng)域中工作,否則,你會(huì)不斷接到你之前所研究領(lǐng)域之外,甚至還會(huì)有一些之前從未聞及的挑戰(zhàn)。所以你必須快速處理并不是自己專長(zhǎng)領(lǐng)域的研究。
這里是一些成為多面手的小貼士:
閱讀學(xué)科之外的內(nèi)容。
學(xué)術(shù)學(xué)科傾向于使用專門特定的統(tǒng)計(jì)工具。例如,在社會(huì)語言學(xué)方面,我們更多的使用混合效應(yīng)回歸(mixed-effects regression)來做工作,但其實(shí)還有很多其他的統(tǒng)計(jì)方法。在不同學(xué)科中進(jìn)行閱讀會(huì)使你接觸了解到各種不同的技術(shù)和問題,并有助于你快速進(jìn)入新的領(lǐng)域。
訓(xùn)練自己分析新類型的數(shù)據(jù)。
數(shù)據(jù)科學(xué)家需要處理各種數(shù)據(jù)。你可能已經(jīng)在處理某一類型數(shù)據(jù)上有了豐富經(jīng)驗(yàn),但也需要考慮拓展其它類型數(shù)據(jù)的分析能力。你處理過時(shí)間序列數(shù)據(jù)嗎?文本數(shù)據(jù)呢?圖片數(shù)據(jù)呢?視頻數(shù)據(jù)呢?音頻數(shù)據(jù)呢?預(yù)訓(xùn)練模型呢?或者關(guān)系數(shù)據(jù)庫(kù)?
找出你的知識(shí)與實(shí)際應(yīng)用之間的差距,并嘗試就一些新的數(shù)據(jù)來源進(jìn)行操作。Kaggle擁有各種來源超過10000個(gè)公共數(shù)據(jù)集,你還可以在Zenodo或Dataverse項(xiàng)上找數(shù)據(jù)。
相關(guān)資源:
https://www.kaggle.com/datasets
https://zenodo.org
https://dataverse.org
和你所工作領(lǐng)域之外的人討論技術(shù)。
與自己工作領(lǐng)域之外的人就技術(shù)進(jìn)行交流,不僅可以學(xué)到很多,同時(shí)也有機(jī)會(huì)去練習(xí)自己如何把技術(shù)給外行人講清楚,參與討論的雙發(fā)都會(huì)獲益良多。
源代碼管理/版本控制
我讀研的時(shí)候是學(xué)過源代碼管理的(得益于一個(gè)軟件技能學(xué)習(xí)網(wǎng)站(Software Carpentry))。源代碼管理的能力是非常有價(jià)值的,但是據(jù)我所知,我的很多同學(xué)對(duì)此并沒什么了解。
源代碼管理,也稱版本控制,是一種對(duì)單個(gè)集中式文檔或代碼庫(kù)進(jìn)行管理及更改的方法。該方法的基本思路是,你可在任何副本上進(jìn)行工作,且其修改都會(huì)使原件得到更新。這很益于單個(gè)項(xiàng)目的開發(fā)(它可以讓你回歸到實(shí)際工作的那個(gè)版本,并找到之前中斷的地方),對(duì)技術(shù)合作來說也十分必要。
怎樣學(xué)習(xí)使用版本控制:
在每個(gè)研究項(xiàng)目或課題中都使用版本控制方法。
我覺得這非常有必要。在做論文研究的整個(gè)過程中,版本控制多次救我于水火之中。
將GitHub用于個(gè)人項(xiàng)目(如果有的話)或可以分享的研究。
這件事可做可不做,但如果加入使用Github的團(tuán)隊(duì)會(huì)很有益處。此外,活躍的GitHub配置文件是向潛在雇主展示工作流程化的一種好方式。
“夠用”就行
當(dāng)你在學(xué)術(shù)環(huán)境中工作時(shí),你確實(shí)需要確保一切都盡力完美。你的研究結(jié)果會(huì)被專家進(jìn)行嚴(yán)格評(píng)估,如果通過的話,它會(huì)被永久地添加到學(xué)術(shù)文獻(xiàn)中。然而,在實(shí)際工作中,“馬上能用”往往比“最終會(huì)達(dá)到完美”要好得多。
我在實(shí)際工作中學(xué)到的第一批新術(shù)語之一是MVP,即“最小化可行產(chǎn)品”。這個(gè)想法是,當(dāng)你的東西足以滿足一部分與之交互的人的需求時(shí),就把它與人們進(jìn)行分享。在數(shù)據(jù)科學(xué)環(huán)境中,這意味著,你的數(shù)據(jù)不是必須要去回答每一個(gè)問題,也不是必須要使用最精準(zhǔn)的模型。也許之后你可以對(duì)其進(jìn)行更深入的分析或其他調(diào)整,但在項(xiàng)目達(dá)到“夠用”時(shí)你應(yīng)該就準(zhǔn)備好將其發(fā)布。
如何提高判斷“夠用”的能力:
練習(xí)判斷“目前已夠用”。
下一次你參與一個(gè)項(xiàng)目時(shí),要經(jīng)常停下來,也許在你每天結(jié)束之前,考慮你是否已經(jīng)創(chuàng)造了一些有價(jià)值的東西(很可能有!)?;c(diǎn)時(shí)間練習(xí)如何描述你已經(jīng)完成了什么有用或有趣的事情。
考慮對(duì)研究中間階段的分享。
可以的話,考慮在博客上或?qū)?shí)驗(yàn)室的同事分享你的下一個(gè)研究項(xiàng)目的中間階段。研究可能并非完美,但這不也是你研究中的一部分嗎?想想在數(shù)據(jù)收集過程中,你學(xué)到了什么值得分享的東西?你想想自己做了什么是已經(jīng)“夠用”的,別人可能會(huì)覺得它很有價(jià)值的東西?
以上便是四種我在研究生學(xué)校沒學(xué)到,但現(xiàn)在每天工作中都會(huì)或多或少用到的核心技能。從事數(shù)據(jù)工作的同行們,你們畢業(yè)后,要利用一切可以學(xué)習(xí)這些技能的機(jī)會(huì)!
原文鏈接:
https://medium.freecodecamp.org/the-four-data-science-skills-i-didnt-learn-in-grad-school-and-how-to-learn-them-f2b039fc0f59
【今日機(jī)器學(xué)習(xí)概念】
Have a Great Definition
精品課程推薦
數(shù)據(jù)科學(xué)實(shí)訓(xùn)營(yíng)第5期
優(yōu)秀助教推薦|姜姜
作為一枚對(duì)數(shù)據(jù)分析的理解僅限于Excel的小白,曾經(jīng)一直認(rèn)為通過寫代碼來分析數(shù)據(jù)是件無比高大上的事??墒牵跀?shù)據(jù)科學(xué)實(shí)訓(xùn)營(yíng)居然就實(shí)現(xiàn)了!
手把手的教學(xué)方式,助教和同學(xué)們熱烈的交流討論,讓我慢慢地覺得一行行代碼如此親切。而當(dāng)把自己頭腦中的構(gòu)思通過代碼實(shí)現(xiàn),看到結(jié)果的那一刻,真是無比激動(dòng)!
經(jīng)過Kaggle、天池的案例的歷練,對(duì)這些數(shù)據(jù)比賽也開始興趣盎然,有沒有小伙伴有興趣一起去玩一玩的?
作為第5期的北美地區(qū)助教,寄語各位學(xué)員:前方高能,請(qǐng)準(zhǔn)備好足夠的時(shí)間,如果你能按時(shí)提交作業(yè),結(jié)業(yè)時(shí)一定脫胎換骨。
志愿者介紹
聯(lián)系客服