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