數據科學之旅:初學數據科學所希望知道的5件事
本文轉載自公眾號“讀芯術”(ID:AI_Discovery)。
兩年來,我一直都在獨立研究數據科學的概念。寫這篇文章的初衷是想向那些迷茫的人介紹我的觀點,希望能與初入行的數據科學家分享這兩年中的收獲。
先成為一名優秀的程序員和統計學家
了解數據科學的基本原理會讓生活更加輕松,并且從長遠來看可以節省時間。幾乎所有的機器學習概念和算法都基于統計和概率,除此之外,許多其他數據科學概念(例如A/B測試)也屬于純統計范疇。
歸根結底,編程和統計知識影響一名數據科學家的能力上限。在學習其他內容之前,必須具有良好的編程和統計基礎。從長遠來看,它將為你節省更多時間。
將更多的時間花在個人數據科學項目上,而非在線訓練營
這可能是一個有爭議的觀點,請容許我先提出幾點聲明:
- 這完全基于我聽聞的實例以及我對同行的觀察。
- 這里指的并不包括一些優秀在線課程,例如deeplearning.ai的課程。
- 當然,如果沒有其他選擇,參加訓練營有勝于無。
在線訓練營存在一些問題。就內容的深度而言,它們往往非常淺顯。不僅如此,而且它們還容易使人對所學材料產生錯誤的理解。
它們也不太適合保留學習信息。花費越多的時間學習某個課題,就越想留存相關信息。但這些訓練營,尤其是那些宣傳為“在5周內成為專家”的訓練營,沒有給你足夠的時間來真正沉淀所學的知識。
他們通常沒有足夠的挑戰性。許多訓練營和課程只是要求你遵循并重復他們的代碼,而不進行批判性或深入性的思考。
而個人數據科學項目使你不得不獨自批判性地思考問題和解決方案,這是一種很好的學習方法。這樣學到的知識遠超過任何訓練營所教授的。你將學會如何提出正確的問題,如何用Google查詢正確的問題,如何構建自己想要的數據科學項目,如何變得有條理等。
投放更多精力到自己的項目中,你也會更有動力去學習更多知識、投入更多時間,從而形成積極的反饋循環。因此,少花時間參加數據科學訓練營,將更多的時間用于個人數據科學項目吧。
專注于一些精選工具
大量數據科學包和工具讓你得以組建適合自己的個性化數據科學工具箱。然而,這也使人易于在一條錯誤的路上一去不復返:過于追求軟件包和工具的學習數量。精通一些工具比使用不熟練的工具做表面工作要好得多。在簡歷中列出所有技能和工具不應該是最終目標!
舉個例子,這些數據可視化軟件包都很優質:Matplotlib、Seaborn、Plotly、Bokeh等等,但你不需要花時間去掌握所有,這是在浪費寶貴而有限的時間。
如果你想用Pandas來處理數據,那就要好好地利用它。如果你更喜歡NumPy,那就用NumPy。的確,理想情況下你能同時擅長Pandas和NumPy,但我認為,專注其中一個并精通它比左顧右盼要好得多。
同樣的道理也適用于:
- Python與R
- Tensorflow與 Pythorch
- Postgresql與MySQL
我建議你建立自己的數據科學工具箱并專注于此,精通5個工具比不熟練使用20個工具要好。
了解各種機器學習算法僅占數據科學的一小部分
就個人而言,數據科學吸引我的是所有不同的機器學習模型,它們如何工作以及它們如何發揮效用。我花了至少六個月的時間來學習和嘗試幾種不同的機器學習模型,才意識到它是數據科學家所需了解內容的一小部分。
數據建模只是整個機器學習生命周期的一部分。你還需要了解數據收集,數據準備,模型評估,模型部署和模型調優。在實際項目中,大部分時間都消耗在了數據準備而不是數據建模(機器學習建模)上。
除此之外,你還需要學習其他一些知識,例如版本控制(Git),從API中提取數據,了解云計算等等。不要將所有時間都花在嘗試掌握每種機器學習算法上。
負擔綜合癥非常常見
圖源:unsplash
從我開始學習數據科學的第一天到如今,我經常體會到負擔綜合癥,但我知道那是完全正常的。為什么對數據科學家來說,負擔綜合癥很常見也很正常?
- “數據科學”是一個非常模糊的術語,它是一個跨學科的領域,包括統計學、程序設計、數學、商業理解、數據工程等。除此之外,數據科學家還有很多同義詞(數據分析員、數據工程師、研究科學家、應用科學家)。你永遠無法成為數據科學所涵蓋所有領域的專家,你也不應該覺得自己必須做到這一點。
- 與編程和技術領域的其他學科一樣,數據科學也在不斷發展。20年前,Pandas還沒有被創造出來。5年前,Tensorflow才發布。總會不斷有需要你學習的新技術出現。
- 你不可能在所有領域成為專家,這意味著總會有人在你花更少時間的事情上做得更好,這沒有什么關系。
作為一名數據科學家,你時常會感覺到負擔綜合癥,放輕松,專注于自己的事業。
數據科學之旅教會我很多道理,希望這些道理能幫助迷茫的你突破瓶頸。