從零開始學習Python 跟數據科學 (第三階段 — 高階到大師水平)

一位既是金融從業員,也是人工智能公司創辦人的經驗分享

中文文章

Hudson Ko

3/8/20231 min read

love to learn pencil signage on wall near walking man
love to learn pencil signage on wall near walking man

我的學習歷程分5個階段

  1. (嬰兒級別 — 測試你的熱情和基本能力
    Data Camp “Introduce to Python” 課程

  2. (初學者級別 — 真正的開始
    Data Camp “Data Scientist” 職業課程

  3. (中階級別 — 證書獵人
    Coursera 密歇根大學 “應用數據科學與Python” 或 EdX 的相等課程

  4. (高階級別 — 是時間做點自己有興趣的項目
    研究生學位 OR/AND 通過實踐學習併發佈在Medium

  5. (大師級別 — 學得越多,知道得越少
    GitHub上建立自己的簡歷

在這篇文章中,我將繼續分享從高階到大師級別的個人學習歷程。如果您是初學者,並且不知道從何開始學習 Python 跟數據科學,您可以回到這裡的文章。對於中級水平的學習者,請參考這裡的指南

4. 高階級別(1–5年)

你能堅持到這個階段,已經足夠給自己一個大大的讚賞。你巨大的決心和熱情,將注定你在這個學習歷程上獲取成功。

在介紹高階水平的學習路徑之前,讓我們先看看下面的圖片。完成 Data CampCourseraEdX 的課程後,你應該能了解這些術語的含義,以及人工智能機器學習數據科學之間的差異。這三個領域是由許多子主題組成的,彼此也密切相關。

現在終於來到了一個關鍵的時刻 — — 選擇一些重點主題,或者換句話說,選擇成為一名 通才 或 專家。學習了Python/數據科學一段時間後,你應該意識到這個領域其實涵蓋非常多的內容,更不用說前端和後端知識了,如果你想成為一名開發人員,這些都是必需的。

時間有限,你只能選擇在幾個主題上作深入了解,或者盡可能廣泛地了解 AI/數據科學領域。

做決策之前,你應該問問自己:

  • 你真正感興趣的是什麼?

  • 學完 Python 和數據科學後,你想做什麼?

你的最終目標將塑造你未來的學習路徑,不僅是學習順序,也決定了終點。下面是三種在高階水平繼續學習的方法。

  1. 碩士學位,如果你只是想在非 IT 行業中超過 95% 的人,並在非 IT 公司擔任數據科學家。一個有名氣的碩士學位可以很好地將你與那些僅完成線上證書的人區分開來,至少在人力資源部的眼中。當然,技術上並不一定。(如果有人有興趣了解如何選擇一個合適的數據科學碩士項目,請告訴我。我很願意再寫一篇文章談談這個問題。)

  2. 博士學位,如果你想成為數據科學/人工智能領域中的專家。計算機視覺、自然語言處理和強化學習等,都是你可以選擇研究的主題。只有擁有博士學位的人,才能在IT公司(當然,也有極少數例外)擔任 數據科學家 或 人工智能工程師,特別是如果你的夢想是在 谷歌 和 微軟 工作的話。對DeepMind 的 AlphaGo 感到非常興奮?取得博士學位再來說吧。

  3. 通過實踐並成為 Medium 作者,如果您厭倦了課程模式的學習,想自己做點有趣的事情。還有很多主題是之前的課程沒有覆蓋,例如:網頁爬蟲、地理信息系統(GIS)、區塊鏈數據和雲計算等。您現在應該已經具備一定的編程基礎,去創建自己感興趣的小項目。

  • “學以致用” 顯然是一個提高實踐經驗的好方法。當遇到編程問題時,只需要在谷歌上搜索。99.9%的時候,你都會在 Stack Overflow 上找到答案,如果沒有,那就仔細閱讀文檔。

  • 使這條學習道路成功最重要的一步是在 Medium 或博客上記錄你的旅程,並公開分享。在數據科學方面,Towards Data ScienceAnalytics VidhyaTowards AI 都是 Medium 上一些知名的出版物,你可以向它們提交你的文章。一方面,當其他人閱讀你的文章時,它可以帶來一些收入。另一方面,這也是在建立你的個人檔案,表明你的學習歷程永不停止。 “一位發表了 20 篇以上關於 Python/Data Science/AI 的文章,閱讀量超過 100K 的作者” 放到簡歷上,絕對是一次很酷的經歷。

5. 大師級別(終生)

說實話,我不應該稱這個階段為大師級別,而應該是真正的初學者級別。你學得越多,你知道的就越少。

科技每天在不斷進化,人工智能 / 數據科學也是如此。今天你學到的,可能一年後就已經過時了。因此,這是一段無止境的學習之旅,在精神和身體上做好準備吧。

坦白說,我可能不是最合適的人去介紹這個水平的學習道路,因為我不是在 IT 行業擔任數據科學家,甚至連在金融行業都不是。但我可以以一位人工智能公司創辦人的身份,去分享意見。(是的,我在讀完數據科學碩士課程後,成為了一家人工智能初創的聯合創始人。)

Github 個人檔案

當有人申請 全職數據科學家職位 或 數據科學實習生 的時候,我在篩選他們的簡歷後,下一步就是瀏覽他們的 Github 個人檔案,看看他們正在做什麼項目和他們的編程水平。(如果你想申請編程相關職位,請務必在簡歷中添加您的 Github 個人檔案鏈接。)

這也是所有 IT 公司面試官的常見做法。因此,請整理好您的 Github 個人檔案,並嘗試展示一些與您申請的職位高度相關的項目。

  • 如果您申請機器學習專家職位,請展示您能夠使用Tensorflow或PyTorch框架並實現不同類型的神經網絡。

  • 如果您對計算機視覺感興趣,請使用卷積神經網絡和OpenCV等庫進行一些項目。

  • 如果您尋找專注於自然語言處理的工作,請包括一些關於變換器和情感分析的項目。

千萬不要告訴我,當您申請 Facebook 數據科學家 職位時,您的Github僅包含一行打印 “Hello World”的代碼。

除了展示您處理不同類型項目的能力外,如果您能夠清晰高效地編寫代碼,那也是非常重要

  1. 有邏輯地去組織代碼、腳本和文件夾。永遠不要命名沒有意義的變量。當然,for-loop 內的 i、j、k 是可以接受的,但是 aabbcc 呢? Github 中的代碼展示了您的個性和工作習慣。

  2. 編寫高效的代碼,在時間和空間複雜度方面。您以前可能從未關注過這一點,但它決定了您是否能成為一流的程式編制員。有些人只關注他們編寫的代碼是否能夠運作,而有些人則關注如何提高代碼的效率,使它們可以在較短的時間內運行,佔用較少的空間。這取決於您的經驗和(不幸的是)您是否具有一些編程天賦。

終於來到了學習歷程分享的結尾。如果您在學習過程中有任何問題 或者 有任何您希望我更詳細分享的部分,請隨時告訴我。

學習Python和Data Science是一個終生的旅程。也許有一天,一種新的編程語言將取代Python,Data Science 將出現更加漂亮的名稱。這都沒關係。您學到的東西永遠不會變得沒用。您的決心和熱情將引領您走向成功。

毅力永遠是學習中最重要的東西。