幫助你在2021年成為數(shù)據(jù)科學(xué)家的21個(gè)有用的小貼士
在這篇文章中,我將與你分享我從其他數(shù)據(jù)科學(xué)家以及我自己過去幾年的經(jīng)驗(yàn)中學(xué)到的21條建議。
這取決于你的職業(yè)生涯已經(jīng)走了多遠(yuǎn),其中一些建議肯定比其他的更適合你。例如,“花點(diǎn)時(shí)間來發(fā)現(xiàn)和探索新的庫和包”可能對(duì)剛開始工作的人來說不太合適。
說到這里,讓我們直奔主題吧!
1、最簡(jiǎn)單的解決方案往往是最好的解決方案
成為數(shù)據(jù)科學(xué)家并不意味著你必須使用機(jī)器學(xué)習(xí)模型解決所有問題。 如果CASE WHEN查詢足以完成工作,則堅(jiān)持這樣做。 如果線性回歸足以完成任務(wù),則不要構(gòu)建10層神經(jīng)網(wǎng)絡(luò)。
更簡(jiǎn)單的解決方案有很多好處,包括更快的實(shí)施時(shí)間,更少的技術(shù)負(fù)擔(dān)以及總體上更容易的可維護(hù)性。
2、花點(diǎn)時(shí)間來發(fā)現(xiàn)和探索新的庫和包
堅(jiān)持使用你喜歡的工具很容易,但是使用創(chuàng)造新工具是有原因的——它們是用來填補(bǔ)現(xiàn)有的空白的。通過花時(shí)間探索新的庫和包,我發(fā)現(xiàn)了一些令人難以置信的工具,它們?yōu)槲夜?jié)省了大量時(shí)間。以下是其中的一些:
Gradio是一個(gè)Python包,它允許你用三行代碼就可以為你的機(jī)器學(xué)習(xí)模型構(gòu)建和部署一個(gè)web應(yīng)用。它的作用與Streamlit或Flask相同,但我發(fā)現(xiàn)它更容易部署模型。
Pandas Profiling是另一個(gè)自動(dòng)進(jìn)行探索性數(shù)據(jù)分析并將其整合到報(bào)告中的軟件包。我發(fā)現(xiàn)當(dāng)我使用較小的數(shù)據(jù)集時(shí),這非常有用。最棒的是它只需要一行代碼!
Kedro是一個(gè)開發(fā)工作流工具,允許你創(chuàng)建可移植的ML管道。它將軟件工程最佳實(shí)踐應(yīng)用到你的代碼中,使其可重現(xiàn)性、模塊化和文檔化良好。
3、高效并不意味著匆忙完成重要的步驟
有些步驟是不能匆忙的。特別是應(yīng)該花時(shí)間深入理解試圖解決的業(yè)務(wù)問題和正在使用的數(shù)據(jù)。
4、可以說,指標(biāo)比模型本身更重要
這一點(diǎn)在某種程度上與前一點(diǎn)相聯(lián)系,因?yàn)槟惚仨殞?duì)你要解決的問題有一個(gè)非常好的理解。除了理解這個(gè)問題,你還需要弄清楚你想優(yōu)化的指標(biāo),因?yàn)闅w根結(jié)底,機(jī)器學(xué)習(xí)是統(tǒng)計(jì)和優(yōu)化的花哨詞匯。
舉個(gè)例子,我可以有一個(gè)100%準(zhǔn)確率的模型,但如果我試圖開發(fā)一個(gè)異常檢測(cè)模型,這是沒有用的!
5、你的工作表現(xiàn)取決于你的溝通能力
人們會(huì)被他們不理解的東西嚇倒,并傾向于避開它們。
你必須能夠以非技術(shù)人員能夠理解的方式交流技術(shù)術(shù)語和建模技術(shù)。如果你花時(shí)間構(gòu)建了一個(gè)很棒的模型,你就應(yīng)該花更多時(shí)間進(jìn)行有效的溝通,這樣人們才能認(rèn)可你的努力!
6、學(xué)習(xí)基礎(chǔ)知識(shí),尤其是統(tǒng)計(jì)學(xué)
數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)本質(zhì)上是統(tǒng)計(jì)學(xué)的現(xiàn)代版本。首先通過學(xué)習(xí)統(tǒng)計(jì),當(dāng)涉及到學(xué)習(xí)機(jī)器學(xué)習(xí)的概念和算法時(shí),你會(huì)有一個(gè)更容易的時(shí)間。
7、了解你要解決的問題的各種參數(shù)
這可以用一個(gè)例子來解釋。
在我的一個(gè)項(xiàng)目中,我必須開發(fā)一個(gè)模型來預(yù)測(cè)一個(gè)產(chǎn)品是否必須被RMA 。一開始我以為我的輸入是所有的產(chǎn)品,這使得它幾乎像一個(gè)異常檢測(cè)問題。
只有在了解業(yè)務(wù)需求和模型如何使用之后,我才意識(shí)到模型的輸入是發(fā)出RMA的所有產(chǎn)品(客戶發(fā)送了關(guān)于產(chǎn)品問題的電子郵件)。這使數(shù)據(jù)更加平衡,節(jié)省了我很多時(shí)間。
8、不要低估SQL的力量
SQL是通用的數(shù)據(jù)語言——它可以說是任何類型的數(shù)據(jù)相關(guān)專業(yè)中最重要的技能,無論你是數(shù)據(jù)科學(xué)家、數(shù)據(jù)工程師、數(shù)據(jù)分析師、業(yè)務(wù)分析師,等等。
SQL不僅在構(gòu)建管道、提取數(shù)據(jù)和整理數(shù)據(jù)方面很重要,而且現(xiàn)在可以使用SQL查詢創(chuàng)建機(jī)器學(xué)習(xí)模型。
9、把數(shù)據(jù)科學(xué)當(dāng)成一項(xiàng)團(tuán)隊(duì)運(yùn)動(dòng)
作為一名數(shù)據(jù)科學(xué)家,最大的好處之一就是你有很大的自主權(quán)。但是,如果你不愿意尋求他人的建議、幫助和反饋,這很容易成為一個(gè)弱點(diǎn)。
盡管數(shù)據(jù)科學(xué)具有一定的自主性,但它是一項(xiàng)團(tuán)隊(duì)運(yùn)動(dòng)。你必須接受來自多個(gè)涉眾的建議和反饋,包括最終用戶、領(lǐng)域?qū)<摇?shù)據(jù)工程師等。
10、不要浪費(fèi)時(shí)間試圖記住所有的東西
要想記住所有的東西實(shí)在是太難了。而且這很浪費(fèi)時(shí)間。你最好練習(xí)如何用谷歌來回答你的問題,這樣你就能得到你需要的答案。
同時(shí),開始使用表格保存真正有用的鏈接,并且經(jīng)?;厝タ纯?。對(duì)我來說,我喜歡包括備忘單、速成課程和我喜歡谷歌的問題的鏈接。等等
11、快速部署,快速迭代,并不斷獲得反饋
重要的是要不斷地與其他利益相關(guān)者溝通,讓他們了解你的思考過程,你為模型所做的任何假設(shè)并獲得反饋。否則的模型可能無法解決手頭的問題。
就我個(gè)人而言,當(dāng)與利益相關(guān)者(尤其是非編碼人員)共享模型時(shí),我使用Gradio為我的模型的每次迭代創(chuàng)建web ui。
我發(fā)現(xiàn)Gradio非常有用,原因如下:
- 它允許我交互式地測(cè)試模型中的不同輸入。
- 它允許我從領(lǐng)域用戶和領(lǐng)域?qū)<?他們可能不是程序員)那里得到反饋
- 它需要3行代碼來實(shí)現(xiàn),并且可以很容易地通過公共鏈接分發(fā)。
12、從頭到尾看一個(gè)項(xiàng)目。你對(duì)實(shí)現(xiàn)模型的責(zé)任與創(chuàng)建模型的責(zé)任是一樣的
作為一名數(shù)據(jù)科學(xué)家,你可以把破爛的jupyter notebook交給工程團(tuán)隊(duì)來實(shí)現(xiàn)的日子已經(jīng)一去不復(fù)返了。如今,數(shù)據(jù)科學(xué)家更像是數(shù)據(jù)科學(xué)家、工程師、產(chǎn)品經(jīng)理。
13、一切都是銷售
作為數(shù)據(jù)科學(xué)家,無論是出售新想法還是出售自己建立的模型,你總是在推銷自己。 與第5點(diǎn)類似,你必須能夠傳達(dá)你所從事的每個(gè)創(chuàng)意,每個(gè)模型和每個(gè)項(xiàng)目的業(yè)務(wù)價(jià)值。
14、建立可持續(xù)的時(shí)間表以持續(xù)學(xué)習(xí)
如果你要學(xué)習(xí),請(qǐng)以正確的方式進(jìn)行。 你可能聽說過遺忘的曲線, 簡(jiǎn)而言之:如果你想保留新信息,則需要在學(xué)習(xí)數(shù)據(jù)科學(xué)和實(shí)踐所學(xué)知識(shí)方面保持一致。
對(duì)自己誠實(shí),制定一個(gè)可以遵守的時(shí)間表。 但是能做做到你的時(shí)間表才是關(guān)鍵。
15、了解如何使用Git和GitHub
學(xué)習(xí)軟件工程最佳實(shí)踐將有很長的路要走。 版本控制特別重要,因?yàn)槊總€(gè)公司都在使用它!
16、通過實(shí)踐學(xué)習(xí)
可以通過學(xué)習(xí)而不僅僅是學(xué)習(xí)來學(xué)習(xí)和保留更多的知識(shí)和技能。 與在學(xué)校學(xué)習(xí)新概念后做功課的方式類似,你需要不斷將所學(xué)的知識(shí)應(yīng)用到項(xiàng)目中。
17、隨時(shí)了解最新情況
與探索新工具和庫有關(guān),重要的是要跟上數(shù)據(jù)科學(xué)的新變化,以便你可以使技能和工具保持最新。
我喜歡通過閱讀論文和文章,觀看YouTube視頻以及閱讀公司博客(如Airbnb,Uber,Google和Facebook)來做到這一點(diǎn)。大家也可以關(guān)注我們的deephub-imba 每日都有干貨推送
18、學(xué)會(huì)運(yùn)用發(fā)散和收斂的思維
在數(shù)據(jù)科學(xué)中,這是一種非常有用的技術(shù),可以確保你已經(jīng)用盡了所有的選項(xiàng)。發(fā)散性思維只是指探索一個(gè)給定問題的多種解決方案,而收斂性思維則是將你的選擇縮小到一個(gè)解決方案。這在執(zhí)行EDA和選擇要使用的模型/算法時(shí)特別有用。
19、創(chuàng)建一個(gè)職業(yè)的檔案
它本質(zhì)上是一本日記或者是你職業(yè)生涯的日記。不像簡(jiǎn)歷是給雇主看的,職業(yè)檔案是給你回顧和反思的。
學(xué)習(xí)如何設(shè)定期望對(duì)你在職業(yè)生涯中是否“成功”有很大的影響。
20、承諾更少。提供更多
這對(duì)數(shù)據(jù)科學(xué)家來說尤其重要,因?yàn)閿?shù)據(jù)科學(xué)家可以根據(jù)自己的需要,花很少或很多時(shí)間來創(chuàng)建模型。數(shù)據(jù)科學(xué)家可以使用auto ML庫構(gòu)建一個(gè)普通的模型,也可以構(gòu)建一個(gè)近乎完美的模型,但需要幾個(gè)月的時(shí)間來完成。
無論你選擇什么,重要的是你要管理預(yù)期,這樣利益相關(guān)者才不會(huì)失望。特別是,這意味著在時(shí)間軸和模型性能方面管理預(yù)期。
21、找一個(gè)愿意幫助你并且你尊敬的導(dǎo)師
在我的職業(yè)生涯中,發(fā)生在我身上的最偉大的事情之一就是找到了一位知識(shí)淵博的導(dǎo)師,他也非常關(guān)心我的成功。
我想說的是,因?yàn)樗覍W(xué)到了比平時(shí)多兩倍的東西。導(dǎo)師雖然難找,但是你可以找到一群志同道合的朋友。
最后:我希望你能從中學(xué)到一些東西!我真的相信這些建議對(duì)我的職業(yè)生涯有過極大的幫助,我相信對(duì)你們也會(huì)有同樣的幫助。
像往常一樣,祝你們?cè)趯W(xué)習(xí)中一切順利。