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