【內附免費工具】給工程師的學習路徑與訓練開源碼,手把手帶你升級數據科學家!

【為什麼我們要挑選這篇文章】要如何成為數據科學家?國外有人在 Github 上分享了成為數據科學家的學習路徑,被大家狂按讚瘋傳。下文,是該篇學習路徑的中文翻譯,提供想當工程師,或是想進深程式實力的朋友參考。(責任編輯:郭家宏)

「《科技報橘》徵才中!跟我們一起定位台灣產業創新力 >> 詳細職缺訊息
快將你的履歷自傳寄至 [email protected]

試圖入門一個新專業時,多數人會感到不知所措;這時候,一份明確的學習路徑可以幫你去除這一焦慮。

數據科學當然也有這樣一套路徑。

一週前在 Github 上出現的一份超高讚數文章就總結出了這樣一份「入門套路」。據這位神秘的發文人所說,數據科學的學習不需要繁雜的準備和高深的數學知識,你只需有足夠的時間、正確的學習方法、對數據分析的好奇心就足夠了。

這個項目是 Github 上一位名為「維吉爾(Vigilio)」的開發者整理的。項目包括職業進階路徑、專業知識講解、工具介紹等,著重強調,不繞遠路,簡明扼要!

Vigilio 表示,這篇文按照層次結構和複雜程度組織編寫,以便讓學習者對事物的運作方式有一個連貫的想法。

另外,他還創了 Facebook 群組,並不斷往上面更新訊息,鼓勵大家一起學習,互相激勵。

5 天前,這份 Github 資料被中國網友 @jiaxianhua 翻譯出了中文版,讓不想費力讀英文的同學也可以輕鬆上手啦。

先附上網址:

github 傳送門
Facebook 社團

下面文摘菌(本文作者)根據這份資料讓大家了解如何高效入門數據科學。

數據科學入門者:學個 Python 吧!

新接觸數據科學需要什麼?當然,Python 這一基礎的程式語言需要掌握。一些數學的基礎知識當然也少不了。如果想進階的話,就需要再學習一些高等的數學知識和高級的 Python 啦!

在這份 github 項目裡,這位外國夥伴給出了基礎 Python 課程以及數據科學 Python 課程。其他的部分,包括高級 Python、高等數學以及數學科學裡的數學知識,目前都還是「即將推出」的狀態。

先學 Python 然後入門數據科學,這絶對是最高效的學習路徑。

在基礎 Python 目錄下,先給出超連結讓你學習基本算術運算和數據類型,然後介紹流程控制,包括 if 語句的使用,for 循環的使用等等。

關於函數的使用,在項目中,作者也給出了一個好的經驗法則是:如果一件事情要重複做 3 次以上,那就寫一個函數吧,並根據你的需要決定調用次數。

除此之外,一些基礎知識也有介紹。包括如何定義函數,如何調用等等。

總之,資料非常豐富,對於一些問題講的不夠清楚的地方也給出了超連結轉到了相應的答案。

完整的學習路徑:專注於 TensorFlow 和 Scikit-Learn

一個專業的機器學習工程師應該專注於 TensorFlow 和 Scikit-Learn。而使用 Scikit-Learn 主要能做的是端到端機器學習項目、線性迴歸、分類、訓練模型、支持向量機、決策樹、整合學習和隨機森林以及無監督學習。

使用 TensorFlow 能夠搭建:ANN – 人工神經網絡、CNN – 卷積神經網絡、RNN – 迴歸神經網絡以及自動編碼器和做強化學習相關的項目。

除了使用這兩個框架之外,一些文章,網絡應用程式,reddit 線程,最佳實踐,項目和 repo 也非常值的看:

數據科學備忘錄
真實數據科學/機器學習項目的集合
TensorFlow 中的課程和 ML 項目的集合
其他 TensorFlow 範例

更多需要收藏以及注意的文章,也可以去 這份資料中 尋找

在學習機器學習時,數學知識應該掌握到什麼程度?正如這份 github 的作者所言:

無論誰告訴你機器學習背後的數學很難…… 都沒有錯!但是你必須考慮到每次你要使用它時,機器都會為你處理它!因此,重要的是掌握主要概念並認識到這些概念的限制和應用。沒有人會要求你手工計算梯度!

註:在路徑這一塊,目前只有機器學習相關資料,商業智慧和雲端計算都是待推出狀態。

專業化:數據的處理與表達技術

這個類別中,目前存在的是數據預處理和有效陳述這兩個項目。同樣,其他的項目包括數據可視化、數據採集等都是待推出的狀態。

關於數據預處理,其實是個疊代過程的收集、組合、結構化和組織數據。目的是為以後的數據可視化,分析和機器學習打下堅實的基礎。

每一個數據科學家或者數據工程師都應該具有篩選和整理數據的能力。不同的數據類型,需要做出不同的數據處理。在做數據預處理的過程中最主要是有不要把數據當玩笑的心態。

首先在嘗試數據準備步驟時,先不要處理 GB 級別的數據。只需使用數據的小子集 ,但子集要具有代表性。

在做數據篩選工作時候,需要注意:刪除額外的空格、選擇並處理所有空白單元格、轉換值類型、刪除重複項、將文本更改為小寫 / 大寫、拼寫檢查、處理特殊字元、規範日期、驗證豐富數據、數據離散化、特徵縮放等等。數據預處理是非常複雜的,你的最終目標是做到「自動化」。

然後在數據分析中需要明確:你打算解決哪個業務問題(什麼是重要的,什麼不是);數據是如何被收集的(有噪音,缺失值……);你們有多少數據在那裡,我在哪裡可以找到他們?(數據維度和從儲存中搜尋)。

在學習數據預處理的過程中,你可以按順序選擇它們或選擇最適合你的那個,但建議你至少要一次把它們都看完。

總體來說有兩種類型的專業化:硬技術和軟實力。

前者是關於技術流程,是每個處理數據的人的核心工具包。使用數據是一種藝術形式,經驗法則和最佳實踐將幫助你瞭解處理它們的方式。你需要對如何處理數據產生一種「感覺」,這種「感覺」要是由情況和經驗帶動的。

後者是真正的價值促成者。如果有了軟實力,你可以成為世界上最好的開發人員或工程師,但如果你無法向受眾傳達你的建議和觀點,或者使用數據來建議企業如何做決策,那麼你對公司來說就毫無用處。

在向受眾傳達建議和發現時,需要的架構包括:設置、故事、情緒和感覺(你需要在你的受眾中重現它們)、結論的動機以及結論。

在說話時候注意使用第一個人,注意修辭問題,表達盡可能的自然,最後給出總結理由和實際建議。

實用工具大集合

在學習的過程中,要熟練的使用 Jupyter Notebooks、latex、Wolfram Alpha 等等。

LaTeX 是一種標記語言(或是如官網所述:用於高品質排版的文檔準備系統),用於創建精采的論文和演示文稿。你在職業生涯中閲讀的幾乎所有論文都是使用 LaTeX 編寫的。

LaTeX 有幾個發行版,打開 此連結 就可以看到

安裝後,你需要一個編輯器來編寫 LaTeX 文檔。可以使用你想要的任何編輯器,包括記事本,vim,nano,gedit 等,但建議你選擇免費和跨平台的 Texmaker

另外,推薦 這個網站 ,它允許用戶在線編寫公式,並且還有大量符號,你只需點擊,生成所需的程式碼即可。你還可以預覽公式,以便更容易確保所有內容都正確編寫。

WolframAlpha(WA)是一個計算知識引擎。其具有強大的數學能力,它可以成為一個非常強大的工具來幫助你進行計算。具體的功能包括基本計算、繪圖函數、求解方程、解不等式、矩陣代數、計算級數和、求導、計算積分、求極限等等。

GeoGebra(GG)是一個功能強大的動態數學應用程式,適用於所有級別的教育,它將幾何,代數,電子表格,圖示器,統計和無窮小計算結合到一個易於使用的單一軟體。 GeoGebra 社群正以指數級增長,數百萬用戶遍佈許多國家。 GeoGebra 已成為全球高等數學,科學支持,技術,工程和數學以及教學和學習創新軟體的領先供應商。

教程下載與使用 傳送門

然後是正則表達式,這是一種匹配一種編寫匹配字元串的模式的方法。

使用教程 傳送門

好了,到這裡,這份資料講述的學習路徑差不多全部包含了,還有一個用 DialogFlow 和 Flask 打造 ChatBot 的主題以及讀論文必用的工具—Zotero,感興趣的讀者可以自行探索。

最後,附上完整的路徑圖:

(本文經 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈 Github 标星超 7k!从零开始,最简明扼要的数据科学学习路径(附高效免费小工具)〉 。首圖來源:Pxhere CC Licensed)

更多工程師程式技能包

什麼是複雜度分析?給工程師的寶可夢演算法指南,面試前讀熟它就贏啦
R 語言可用來開發深度學習!不只是統計分析,R 還有這 10 個強大隱藏功能
GitHub 神人整理出一份 Python 開源清單:15 個領域、181 個開源項目任你用

點關鍵字看更多相關文章: