
麥迪遜·亨特,地球科學學士學位本科生
當涉及到進入數(shù)據(jù)科學領(lǐng)域時,你需要使用書中的每一個技巧來給自己一個優(yōu)勢,推動你越過終點線。
那么,為什么不嘗試效仿行業(yè)中最好的人的習慣呢?
這篇文章不是一個“快速致富”的方法,成為一個高效的數(shù)據(jù)科學家。相反,它顯示了幫助最好的數(shù)據(jù)科學家到達他們所處位置的習慣。
人們經(jīng)常說,adata科學家的價值取決于他們對組織的影響。這種影響始于通過良好習慣的養(yǎng)成成為一名高效和有效的數(shù)據(jù)科學家。
有多少當前的數(shù)據(jù)科學技術(shù)是在最近十年左右才出現(xiàn)的?幾乎是大多數(shù)。
進入數(shù)據(jù)科學領(lǐng)域的動機是你要好好嘗試一下,你已經(jīng)把自己歸入了一生不斷學習的狀態(tài)。別擔心,沒有聽起來那么凄涼。
然而,你應(yīng)該時刻記住的是,為了在工作中保持相關(guān)性,你需要跟上技術(shù)的發(fā)展。因此,如果您在整個職業(yè)生涯中都在使用MATLAB進行數(shù)據(jù)分析,請嘗試學習用Python編寫代碼。如果您一直在用Matplotlib創(chuàng)建可視化效果,請嘗試使用Plotly來創(chuàng)建一些新鮮的東西。
如何養(yǎng)成這個習慣:每周花一個小時(或盡可能多的時間),嘗試新技術(shù)。通過閱讀博客文章找出哪些技術(shù)是相關(guān)的,并選擇一對您想要添加到堆棧中的技術(shù)。然后,創(chuàng)建一些個人項目,學習如何最大限度地使用新技術(shù)。
我似乎總是有幸閱讀和處理那些文檔糟糕、沒有支持性注釋來幫助我理解到底發(fā)生了什么的代碼。
我曾經(jīng)把它歸因于程序員的吹口哨,直到有一天,我意識到這只是一個糟糕的程序員的標志。
我接觸過的所有優(yōu)秀程序員都是那些提供清晰、簡潔的文檔來支持他們的工作,并在他們的程序中添加有用的注釋來描述某些代碼行在做什么的人。這對于正在使用復(fù)雜算法和機器學習模型解決問題的數(shù)據(jù)科學家來說尤其相關(guān)。
如何實現(xiàn)這個習慣:花一些時間閱讀好的代碼文檔或關(guān)于如何編寫好代碼文檔的文章。為了實踐,為舊的個人項目編寫文檔,或者花一些時間修改當前項目的文檔。由于數(shù)據(jù)科學世界的很大一部分都是在Python上運行的,請查看這篇關(guān)于如何記錄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…
認為開發(fā)人員是面皮蒼白的社會棄兒的刻板印象,他們把自己鎖在孤獨中編寫注定要統(tǒng)治世界的代碼,這是一種過時的概括,沒有反映整個科技行業(yè)的現(xiàn)代復(fù)雜性。
“沒有人是一座孤島。”--許多數(shù)據(jù)科學家最喜歡的一句話
數(shù)據(jù)科學的復(fù)雜性使得在數(shù)據(jù)科學界內(nèi)外建立一個大型的專業(yè)人員支持網(wǎng)絡(luò)是必要的,以解決使數(shù)據(jù)科學家成為必要的各種問題。
然而,社區(qū)的重要性并不僅僅停留在專業(yè)層面。隨著數(shù)據(jù)科學領(lǐng)域的擴展,有必要為未來的分析師和工程師鋪平道路,這樣他們也可以產(chǎn)生影響,并進一步支持其他數(shù)據(jù)科學家。
隨著數(shù)據(jù)科學領(lǐng)域的“性感”減弱,做出必要改變的唯一方法將是啟動一場社區(qū)范圍的運動,激勵該行業(yè)向更好的方向改變。
如何實現(xiàn)這個習慣:成為一名導(dǎo)師,撰寫信息豐富的博客文章,加入數(shù)據(jù)科學論壇并幫助回答問題,創(chuàng)建一個Youtube頻道來分享您的經(jīng)驗,參加Kaggle比賽和黑客馬拉松,或者創(chuàng)建課程來幫助未來的數(shù)據(jù)科學家學習進入該行業(yè)所需的技能。
重構(gòu)是在不改變代碼原有功能的情況下清理代碼的過程。雖然重構(gòu)是軟件開發(fā)環(huán)境中的一個過程,但對于數(shù)據(jù)科學家來說,重構(gòu)是一個有用的習慣。
我在重構(gòu)時的口頭禪是“少即是多”。
我發(fā)現(xiàn),當我最初編寫代碼來解決數(shù)據(jù)科學問題時,我通常會拋棄良好的編碼實踐,而傾向于編寫在需要時有效的代碼。換句話說,會發(fā)生大量的意大利面代碼。然后,在我的解決方案開始工作后,我將返回并清理我的代碼。
如何實現(xiàn)此習慣:查看舊代碼,并詢問是否可以更有效地編寫相同的代碼。如果是這樣,請花一些時間來教育自己關(guān)于最佳編碼實踐的知識,并尋找可以縮短、優(yōu)化和澄清代碼的方法。查看這篇概述代碼重構(gòu)最佳實踐的優(yōu)秀文章:
Code Refactoring Best Practices: When (and When Not) to Do It
代碼重構(gòu)是DevOps軟件開發(fā)方法中使用的一個過程,包括編輯和清理…
有這么多的IDE提高工作效率的擴展,令人驚訝的是,有些人還沒有選擇優(yōu)化他們的工作流。
這個習慣對每個人來說都是如此獨特,以至于它實際上決定了哪些工具、工作區(qū)和工作流使您成為最有效和高效的數(shù)據(jù)科學家。
如何實現(xiàn)這個習慣:每年一次(如果對您更有效,則更頻繁),評估您的整體有效性和效率,并確定您可以改進的地方。也許這意味著早上第一件事就是研究機器學習算法,或者坐在健身球上而不是椅子上,或者在IDE中添加一個新的擴展,為您的代碼添加一層。嘗試不同的工作空間、工具和工作流,直到您進入最佳形式。
據(jù)我所知,數(shù)據(jù)科學75%理解業(yè)務(wù)問題,25%編寫模型以找出如何解決這些問題。
編碼、算法和數(shù)學是容易的部分。了解如何實現(xiàn)它們,以便它們能夠解決特定的業(yè)務(wù)問題,而不是太多。通過花更多的時間來理解業(yè)務(wù)問題和您試圖解決的目標,剩下的過程將會順利得多。
為了了解你所從事的行業(yè)面臨的問題,你需要做一些調(diào)查,收集一些背景知識,以支持你對你試圖解決的問題的了解。例如,您需要了解是什么使某一特定業(yè)務(wù)的客戶成功,或者工程公司試圖達到的特定目標。
如何養(yǎng)成這個習慣:花些時間研究一下你工作的特定公司和他們所處的行業(yè)。寫一份你可以參考的備忘單,包含公司的主要目標,以及在特定行業(yè)可能面臨的問題。不要忘記包括您可能想要用來解決業(yè)務(wù)問題的算法,或者將來可能有用的機器學習模型的思想。當你發(fā)現(xiàn)有用的東西時,添加到這個備忘單中,很快你就會擁有一個與行業(yè)相關(guān)的花絮寶庫。
不,不是在生活中。在代碼和工作流中。
人們經(jīng)常認為,最好的數(shù)據(jù)科學家使用最少的代碼、最少的數(shù)據(jù)和最簡單的算法來完成工作。
雖然作為極簡主義者,我不想讓你立即假設(shè)稀缺。通常,當有人討論代碼中極簡主義的重要性時,會導(dǎo)致人們試圖開發(fā)只使用幾行代碼的令人憤慨的解決方案。別鬧了。是的,令人印象深刻,但這真的是對你時間的最好利用嗎?
相反,一旦您熟悉了數(shù)據(jù)科學概念,就開始尋找可以優(yōu)化代碼的方法,使其簡單、干凈和簡短。使用簡單的算法來完成工作,不要忘記編寫可重用的函數(shù)來消除冗余。
如何實現(xiàn)這個習慣:作為一名數(shù)據(jù)科學家,開始推動自己編寫更高效的解決方案,編寫更少的代碼,并使用更簡單的算法和模型來完成工作。了解如何在不降低代碼有效性的情況下縮短代碼,并留下大量注釋來解釋壓縮版本的代碼是如何工作的。
當我第一次編寫數(shù)據(jù)分析代碼時,我會第一個承認我嚴重忽略了函數(shù)。當我掙扎著通過不同的分析來推理時,意大利面代碼填滿了我的IDE。如果您看了我的代碼,您可能會認為它已經(jīng)走得太遠了,并自愿把它從谷倉后面拿出來,讓它擺脫困境。
一旦我設(shè)法拼湊出一個半體面的結(jié)果,我就會回去試圖修復(fù)相當于嚴重事故的結(jié)果。通過將代碼打包成函數(shù),我可以迅速消除不必要的復(fù)雜性和冗余。如果這是我對代碼所做的唯一一件事,那么我已經(jīng)將它簡化到了一個點,我可以重新審視解決方案,并理解我是如何到達那個點的。
如何實現(xiàn)這個習慣:編寫代碼時不要忘記函數(shù)的重要性。人們常說,最好的開發(fā)人員是懶惰的開發(fā)人員,因為他們知道如何創(chuàng)建不需要太多工作的解決方案。編寫解決方案后,返回并將冗余或復(fù)雜的代碼捆綁到函數(shù)中,以幫助組織和簡化代碼。
測試驅(qū)動開發(fā)(TDD)是一種軟件開發(fā)原則,它側(cè)重于編寫具有不斷測試的增量改進的代碼。TDD運行在“Red,Green,Refactor”系統(tǒng)上,該系統(tǒng)鼓勵開發(fā)人員構(gòu)建測試套件,編寫實現(xiàn)代碼,然后優(yōu)化代碼庫。
數(shù)據(jù)科學家可以成功地實現(xiàn)TDD,以產(chǎn)生分析管道、開發(fā)概念驗證、處理數(shù)據(jù)子集,并確保在開發(fā)過程中不破壞功能代碼。
如何實現(xiàn)此習慣:研究測試驅(qū)動開發(fā),并確定此技術(shù)是否可以為您的工作流添加一些內(nèi)容。TDD并不是每個問題的完美答案,但如果仔細實施,它可能會很有用。查看這篇文章,它對TDD進行了很好的描述,并提供了一個如何在數(shù)據(jù)科學項目中實現(xiàn)它的示例:
How to use Test Driven Development in a Data Science Workflow
Another thing Data Scientists and Machine Learning Engineers should learn from Software Developers
有沒有發(fā)出一個拉請求,你的計算機被錯誤消息和問題從Wazoo中傳出來?我有。太爛了。
當你想介紹誰對你的拳頭做出了如此大的承諾時,深呼吸,記住這個人顯然沒有花時間養(yǎng)成良好的成長習慣。
基于團隊的軟件開發(fā)的黃金法則是什么?做出小而頻繁的承諾。
如何實現(xiàn)這個習慣:經(jīng)常提交代碼更改,并定期請求獲取最新代碼。您或其他人所做的每一個更改都可能破壞整個項目,因此進行易于恢復(fù)且可能只影響項目的一部分或一層的小更改是很重要的。
根據(jù)您詢問的對象,該行業(yè)的數(shù)據(jù)科學家要么太多,要么太少。
無論這個行業(yè)是飽和還是干旱,你都將與大量高資歷的候選人競爭一份工作,而這些候選人往往是資歷過高的。這意味著在求職之前,你需要已經(jīng)養(yǎng)成了自我提升的習慣。今天,每個人都癡迷于提高技能,這是有充分理由的。這種趨勢對數(shù)據(jù)科學家來說應(yīng)該也不例外。
如何養(yǎng)成這個習慣:做一個技能清單,看看你是如何滿足雇主在招聘公告中提出的要求的。你是一個能夠高效使用相關(guān)庫的Pythonista嗎,比如Keras、NumPy、Pandas、PyTorch、TensorFlow、Matplotlib、Seaborn和Plotly?你能寫一份備忘錄,詳細說明你的最新發(fā)現(xiàn),以及它們?nèi)绾问鼓愕墓拘侍岣?5%嗎?你愿意作為團隊的一員來完成一個項目嗎?找出任何缺點,找到一些好的在線課程或資源來提高你的技能。
Stephen Covey在《7個高效能人士的習慣》中討論了“以終為始”的原則。
為了有效地將此與數(shù)據(jù)科學項目聯(lián)系起來,您需要在項目的規(guī)劃階段問自己項目的期望結(jié)果是什么。這將有助于塑造項目的路徑,并為您提供實現(xiàn)最終目標所需的結(jié)果路線圖。不僅如此,確定項目的結(jié)果將使你對項目的可行性和可持續(xù)性有一個整體的想法。
如何實現(xiàn)此習慣:在每個項目開始時都有一個規(guī)劃會話,該會話明確列出您希望在開發(fā)期結(jié)束時實現(xiàn)的目標。確定您將試圖解決哪個問題,或者您試圖收集哪一個證據(jù)。然后,您可以開始回答可行性和可持續(xù)性問題,這些問題將塑造項目的里程碑和結(jié)果。從那里,您可以開始編寫代碼和機器學習模型,并有一個明確的計劃來指導(dǎo)您完成項目。
在試圖準備一個關(guān)于為什么自旋v2粒子服從費米-狄拉克統(tǒng)計的新生講座失敗后,理查德·費曼說過一句著名的話:“我不能把它降低到新生的水平。這意味著我們真的不明白。“被稱為”偉大的解釋者“的費曼留下了數(shù)據(jù)科學家只能希望效仿的遺產(chǎn)。
數(shù)據(jù)科學是一門使用數(shù)據(jù)來講述一個引人注目的故事的藝術(shù),只有當講故事的人理解他們試圖講述的故事時,它才會成功。換句話說,理解是你的任務(wù),這樣你才能被理解。盡早養(yǎng)成這個習慣,了解你想要完成的事情,這樣你就可以與其他人分享到一個相當好的理解水平,這將使你成為這個房間里最有效的數(shù)據(jù)科學家。
如何實現(xiàn)這個習慣:使用Feynman技術(shù)來加深對您試圖發(fā)現(xiàn)的概念和試圖解決的問題的理解。這種方法很好地與分析數(shù)據(jù)然后向一般非數(shù)據(jù)科學利益相關(guān)者解釋結(jié)果的數(shù)據(jù)科學過程相一致。簡而言之,您將對主題的解釋細化到這樣一個程度,即您可以用任何人都能理解的簡單、非行話術(shù)語來解釋它。
在一個由碩士和博士主導(dǎo)的領(lǐng)域。持有者,研究論文經(jīng)常被用來分享行業(yè)新聞和洞察力。
研究論文是了解他人如何解決問題的有用方法,拓寬了我們的視野,并跟上了最新的趨勢。
如何養(yǎng)成這個習慣:每周挑選一到兩篇與你當前的工作或你感興趣的技術(shù)相關(guān)的研究論文來閱讀。試著每周為這篇文獻復(fù)習留出時間,讓這成為一個優(yōu)先事項。熟悉閱讀研究論文的三關(guān)方法,這有助于你快速收集相關(guān)信息。要真正鞏固你對論文的理解,試著把你從閱讀中學到的東西落實到一個個人項目中,或者與同事分享你學到的東西。
數(shù)據(jù)科學的世界正在迅速變化,從所使用的技術(shù)到所達到的目標。不要做那種固步自封、不愿改變的數(shù)據(jù)科學家。
開放的改變不僅會迫使你作為一個專業(yè)人士繼續(xù)提高,而且還會讓你在一個快速變化的行業(yè)中保持相關(guān)性,這個行業(yè)在你落后的時候會把你吐出來。
如何養(yǎng)成這個習慣:每當一項新技術(shù)或?qū)嵺`成為新聞時,就進行一次測試,看看新技術(shù)或?qū)嵺`帶來了什么。即使只是閱讀文檔,您也可以隨時了解行業(yè)的變化趨勢。此外,您可以為您的公司帶來一個關(guān)于技術(shù)的視角,并幫助他們導(dǎo)航技術(shù)變化和進步。在辦公室里做一個耳旁風的人可以幫助你保持領(lǐng)先,也可以幫助你引導(dǎo)你的團隊和公司找到更好、更有效的解決方案。
在數(shù)據(jù)科學職業(yè)生涯的任何階段,養(yǎng)成良好的習慣都可以讓你發(fā)揮潛力,成為團隊中有效的一員,對他們試圖解決的任何問題都有很大的影響。
沒有比現(xiàn)在更好的時間來花時間為未來的成功做好準備了。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當下,精準營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10