熱線電話:13121318867

登錄
首頁大數據時代我從高效的數據科學家那里學到的15個習慣
我從高效的數據科學家那里學到的15個習慣
2022-03-14
收藏

麥迪遜·亨特,地球科學學士學位本科生



當涉及到進入數據科學領域時,你需要使用書中的每一個技巧來給自己一個優勢,推動你越過終點線。

那么,為什么不嘗試效仿行業中最好的人的習慣呢?

這篇文章不是一個“快速致富”的方法,成為一個高效的數據科學家。相反,它顯示了幫助最好的數據科學家到達他們所處位置的習慣。

人們經常說,adata科學家的價值取決于他們對組織的影響。這種影響始于通過良好習慣的養成成為一名高效和有效的數據科學家。

1.跟上技術的發展。


有多少當前的數據科學技術是在最近十年左右才出現的?幾乎是大多數。

進入數據科學領域的動機是你要好好嘗試一下,你已經把自己歸入了一生不斷學習的狀態。別擔心,沒有聽起來那么凄涼。

然而,你應該時刻記住的是,為了在工作中保持相關性,你需要跟上技術的發展。因此,如果您在整個職業生涯中都在使用MATLAB進行數據分析,請嘗試學習用Python編寫代碼。如果您一直在用Matplotlib創建可視化效果,請嘗試使用Plotly來創建一些新鮮的東西。

如何養成這個習慣:每周花一個小時(或盡可能多的時間),嘗試新技術。通過閱讀博客文章找出哪些技術是相關的,并選擇一對您想要添加到堆棧中的技術。然后,創建一些個人項目,學習如何最大限度地使用新技術。

2.保存適當的文件。


我似乎總是有幸閱讀和處理那些文檔糟糕、沒有支持性注釋來幫助我理解到底發生了什么的代碼。

我曾經把它歸因于程序員的吹口哨,直到有一天,我意識到這只是一個糟糕的程序員的標志。

我接觸過的所有優秀程序員都是那些提供清晰、簡潔的文檔來支持他們的工作,并在他們的程序中添加有用的注釋來描述某些代碼行在做什么的人。這對于正在使用復雜算法和機器學習模型解決問題的數據科學家來說尤其相關。

如何實現這個習慣:花一些時間閱讀好的代碼文檔或關于如何編寫好代碼文檔的文章。為了實踐,為舊的個人項目編寫文檔,或者花一些時間修改當前項目的文檔。由于數據科學世界的很大一部分都是在Python上運行的,請查看這篇關于如何記錄Python代碼的非常好的文章:

Documenting Python Code: A Complete Guide - Real Python
Welcome to your complete guide to documenting Python code. Whether you're documenting a small script or a large…

3.參與數據科學社區。


認為開發人員是面皮蒼白的社會棄兒的刻板印象,他們把自己鎖在孤獨中編寫注定要統治世界的代碼,這是一種過時的概括,沒有反映整個科技行業的現代復雜性。


“沒有人是一座孤島?!?-許多數據科學家最喜歡的一句話


數據科學的復雜性使得在數據科學界內外建立一個大型的專業人員支持網絡是必要的,以解決使數據科學家成為必要的各種問題。

然而,社區的重要性并不僅僅停留在專業層面。隨著數據科學領域的擴展,有必要為未來的分析師和工程師鋪平道路,這樣他們也可以產生影響,并進一步支持其他數據科學家。

隨著數據科學領域的“性感”減弱,做出必要改變的唯一方法將是啟動一場社區范圍的運動,激勵該行業向更好的方向改變。

如何實現這個習慣:成為一名導師,撰寫信息豐富的博客文章,加入數據科學論壇并幫助回答問題,創建一個Youtube頻道來分享您的經驗,參加Kaggle比賽和黑客馬拉松,或者創建課程來幫助未來的數據科學家學習進入該行業所需的技能。

4.定期重構代碼。


重構是在不改變代碼原有功能的情況下清理代碼的過程。雖然重構是軟件開發環境中的一個過程,但對于數據科學家來說,重構是一個有用的習慣。

我在重構時的口頭禪是“少即是多”。

我發現,當我最初編寫代碼來解決數據科學問題時,我通常會拋棄良好的編碼實踐,而傾向于編寫在需要時有效的代碼。換句話說,會發生大量的意大利面代碼。然后,在我的解決方案開始工作后,我將返回并清理我的代碼。

如何實現此習慣:查看舊代碼,并詢問是否可以更有效地編寫相同的代碼。如果是這樣,請花一些時間來教育自己關于最佳編碼實踐的知識,并尋找可以縮短、優化和澄清代碼的方法。查看這篇概述代碼重構最佳實踐的優秀文章:

Code Refactoring Best Practices: When (and When Not) to Do It
代碼重構是DevOps軟件開發方法中使用的一個過程,包括編輯和清理…

5.優化工作區、工具和工作流程。


有這么多的IDE提高工作效率的擴展,令人驚訝的是,有些人還沒有選擇優化他們的工作流。

這個習慣對每個人來說都是如此獨特,以至于它實際上決定了哪些工具、工作區和工作流使您成為最有效和高效的數據科學家。

如何實現這個習慣:每年一次(如果對您更有效,則更頻繁),評估您的整體有效性和效率,并確定您可以改進的地方。也許這意味著早上第一件事就是研究機器學習算法,或者坐在健身球上而不是椅子上,或者在IDE中添加一個新的擴展,為您的代碼添加一層。嘗試不同的工作空間、工具和工作流,直到您進入最佳形式。

6.重點了解業務問題。


據我所知,數據科學75%理解業務問題,25%編寫模型以找出如何解決這些問題。

編碼、算法和數學是容易的部分。了解如何實現它們,以便它們能夠解決特定的業務問題,而不是太多。通過花更多的時間來理解業務問題和您試圖解決的目標,剩下的過程將會順利得多。

為了了解你所從事的行業面臨的問題,你需要做一些調查,收集一些背景知識,以支持你對你試圖解決的問題的了解。例如,您需要了解是什么使某一特定業務的客戶成功,或者工程公司試圖達到的特定目標。

如何養成這個習慣:花些時間研究一下你工作的特定公司和他們所處的行業。寫一份你可以參考的備忘單,包含公司的主要目標,以及在特定行業可能面臨的問題。不要忘記包括您可能想要用來解決業務問題的算法,或者將來可能有用的機器學習模型的思想。當你發現有用的東西時,添加到這個備忘單中,很快你就會擁有一個與行業相關的花絮寶庫。

7.采用極簡風格。


不,不是在生活中。在代碼和工作流中。

人們經常認為,最好的數據科學家使用最少的代碼、最少的數據和最簡單的算法來完成工作。

雖然作為極簡主義者,我不想讓你立即假設稀缺。通常,當有人討論代碼中極簡主義的重要性時,會導致人們試圖開發只使用幾行代碼的令人憤慨的解決方案。別鬧了。是的,令人印象深刻,但這真的是對你時間的最好利用嗎?

相反,一旦您熟悉了數據科學概念,就開始尋找可以優化代碼的方法,使其簡單、干凈和簡短。使用簡單的算法來完成工作,不要忘記編寫可重用的函數來消除冗余。

如何實現這個習慣:作為一名數據科學家,開始推動自己編寫更高效的解決方案,編寫更少的代碼,并使用更簡單的算法和模型來完成工作。了解如何在不降低代碼有效性的情況下縮短代碼,并留下大量注釋來解釋壓縮版本的代碼是如何工作的。

8.使用函數消除復雜性和冗余。


當我第一次編寫數據分析代碼時,我會第一個承認我嚴重忽略了函數。當我掙扎著通過不同的分析來推理時,意大利面代碼填滿了我的IDE。如果您看了我的代碼,您可能會認為它已經走得太遠了,并自愿把它從谷倉后面拿出來,讓它擺脫困境。

一旦我設法拼湊出一個半體面的結果,我就會回去試圖修復相當于嚴重事故的結果。通過將代碼打包成函數,我可以迅速消除不必要的復雜性和冗余。如果這是我對代碼所做的唯一一件事,那么我已經將它簡化到了一個點,我可以重新審視解決方案,并理解我是如何到達那個點的。

如何實現這個習慣:編寫代碼時不要忘記函數的重要性。人們常說,最好的開發人員是懶惰的開發人員,因為他們知道如何創建不需要太多工作的解決方案。編寫解決方案后,返回并將冗余或復雜的代碼捆綁到函數中,以幫助組織和簡化代碼。

9.應用測試驅動的開發方法。


測試驅動開發(TDD)是一種軟件開發原則,它側重于編寫具有不斷測試的增量改進的代碼。TDD運行在“Red,Green,Refactor”系統上,該系統鼓勵開發人員構建測試套件,編寫實現代碼,然后優化代碼庫。

數據科學家可以成功地實現TDD,以產生分析管道、開發概念驗證、處理數據子集,并確保在開發過程中不破壞功能代碼。

如何實現此習慣:研究測試驅動開發,并確定此技術是否可以為您的工作流添加一些內容。TDD并不是每個問題的完美答案,但如果仔細實施,它可能會很有用。查看這篇文章,它對TDD進行了很好的描述,并提供了一個如何在數據科學項目中實現它的示例:

How to use Test Driven Development in a Data Science Workflow
Another thing Data Scientists and Machine Learning Engineers should learn from Software Developers

10.做出小而頻繁的承諾。


有沒有發出一個拉請求,你的計算機被錯誤消息和問題從Wazoo中傳出來?我有。太爛了。

當你想介紹誰對你的拳頭做出了如此大的承諾時,深呼吸,記住這個人顯然沒有花時間養成良好的成長習慣。

基于團隊的軟件開發的黃金法則是什么?做出小而頻繁的承諾。

如何實現這個習慣:經常提交代碼更改,并定期請求獲取最新代碼。您或其他人所做的每一個更改都可能破壞整個項目,因此進行易于恢復且可能只影響項目的一部分或一層的小更改是很重要的。

11.把自我發展作為優先事項。


根據您詢問的對象,該行業的數據科學家要么太多,要么太少。

無論這個行業是飽和還是干旱,你都將與大量高資歷的候選人競爭一份工作,而這些候選人往往是資歷過高的。這意味著在求職之前,你需要已經養成了自我提升的習慣。今天,每個人都癡迷于提高技能,這是有充分理由的。這種趨勢對數據科學家來說應該也不例外。

如何養成這個習慣:做一個技能清單,看看你是如何滿足雇主在招聘公告中提出的要求的。你是一個能夠高效使用相關庫的Pythonista嗎,比如Keras、NumPy、Pandas、PyTorch、TensorFlow、Matplotlib、Seaborn和Plotly?你能寫一份備忘錄,詳細說明你的最新發現,以及它們如何使你的公司效率提高25%嗎?你愿意作為團隊的一員來完成一個項目嗎?找出任何缺點,找到一些好的在線課程或資源來提高你的技能。

12.開始一個項目時,要牢記目標。


Stephen Covey在《7個高效能人士的習慣》中討論了“以終為始”的原則。

為了有效地將此與數據科學項目聯系起來,您需要在項目的規劃階段問自己項目的期望結果是什么。這將有助于塑造項目的路徑,并為您提供實現最終目標所需的結果路線圖。不僅如此,確定項目的結果將使你對項目的可行性和可持續性有一個整體的想法。

如何實現此習慣:在每個項目開始時都有一個規劃會話,該會話明確列出您希望在開發期結束時實現的目標。確定您將試圖解決哪個問題,或者您試圖收集哪一個證據。然后,您可以開始回答可行性和可持續性問題,這些問題將塑造項目的里程碑和結果。從那里,您可以開始編寫代碼和機器學習模型,并有一個明確的計劃來指導您完成項目。

13.理解,這樣你才能被理解。


在試圖準備一個關于為什么自旋v2粒子服從費米-狄拉克統計的新生講座失敗后,理查德·費曼說過一句著名的話:“我不能把它降低到新生的水平。這意味著我們真的不明白?!氨环Q為”偉大的解釋者“的費曼留下了數據科學家只能希望效仿的遺產。

數據科學是一門使用數據來講述一個引人注目的故事的藝術,只有當講故事的人理解他們試圖講述的故事時,它才會成功。換句話說,理解是你的任務,這樣你才能被理解。盡早養成這個習慣,了解你想要完成的事情,這樣你就可以與其他人分享到一個相當好的理解水平,這將使你成為這個房間里最有效的數據科學家。

如何實現這個習慣:使用Feynman技術來加深對您試圖發現的概念和試圖解決的問題的理解。這種方法很好地與分析數據然后向一般非數據科學利益相關者解釋結果的數據科學過程相一致。簡而言之,您將對主題的解釋細化到這樣一個程度,即您可以用任何人都能理解的簡單、非行話術語來解釋它。

14.閱讀研究論文。


在一個由碩士和博士主導的領域。持有者,研究論文經常被用來分享行業新聞和洞察力。

研究論文是了解他人如何解決問題的有用方法,拓寬了我們的視野,并跟上了最新的趨勢。

如何養成這個習慣:每周挑選一到兩篇與你當前的工作或你感興趣的技術相關的研究論文來閱讀。試著每周為這篇文獻復習留出時間,讓這成為一個優先事項。熟悉閱讀研究論文的三關方法,這有助于你快速收集相關信息。要真正鞏固你對論文的理解,試著把你從閱讀中學到的東西落實到一個個人項目中,或者與同事分享你學到的東西。

15.對變化持開放態度。


數據科學的世界正在迅速變化,從所使用的技術到所達到的目標。不要做那種固步自封、不愿改變的數據科學家。

開放的改變不僅會迫使你作為一個專業人士繼續提高,而且還會讓你在一個快速變化的行業中保持相關性,這個行業在你落后的時候會把你吐出來。

如何養成這個習慣:每當一項新技術或實踐成為新聞時,就進行一次測試,看看新技術或實踐帶來了什么。即使只是閱讀文檔,您也可以隨時了解行業的變化趨勢。此外,您可以為您的公司帶來一個關于技術的視角,并幫助他們導航技術變化和進步。在辦公室里做一個耳旁風的人可以幫助你保持領先,也可以幫助你引導你的團隊和公司找到更好、更有效的解決方案。

在數據科學職業生涯的任何階段,養成良好的習慣都可以讓你發揮潛力,成為團隊中有效的一員,對他們試圖解決的任何問題都有很大的影響。

沒有比現在更好的時間來花時間為未來的成功做好準備了。



數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢