資料科學的完整學習路徑(Python版),路徑python

來源:互聯網
上載者:User

資料科學的完整學習路徑(Python版),路徑python

轉載自:http://python.jobbole.com/80981/

英文(原文)串連:https://www.analyticsvidhya.com/learning-paths-data-science-business-analytics-business-intelligence-big-data/learning-path-data-science-python/

從Python菜鳥到Python Kaggler的旅程(譯註:Kaggle是一個資料建模和資料分析競賽平台)

假如你想成為一個資料科學家,或者已經是資料科學家的你想擴充你的技能,那麼你已經來對地方了。本文的目的就是給資料分析方面的Python新手提供一個完整的學習路徑。該路徑提供了你需要學習的利用Python進行資料分析的所有步驟的完整概述。如果你已經有一些相關的背景知識,或者你不需要路徑中的所有內容,你可以隨意調整你自己的學習路徑,並且讓大家知道你是如何調整的。

步驟0:熱身

開始學習旅程之前,先回答第一個問題:為什麼使用Python?或者,Python如何發揮作用?
觀看DataRobot創始人Jeremy在PyCon Ukraine 2014上的30分鐘演講,來瞭解Python是多麼的有用。

步驟1:設定你的機器環境

現在你已經決心要好好學習了,也是時候設定你的機器環境了。最簡單的方法就是從Continuum.io上下載分發包Anaconda。Anaconda將你以後可能會用到的大部分的東西進行了打包。採用這個方法的主要缺點是,即使可能已經有了可用的底層庫的更新,你仍然需要等待Continuum去更新Anaconda包。當然如果你是一個初學者,這應該沒什麼問題。

如果你在安裝過程中遇到任何問題,你可以在這裡找到不同作業系統下更詳細的安裝說明。

步驟2:學習Python語言的基礎知識

你應該先去瞭解Python語言的基礎知識、庫和資料結構。Codecademy上的Python課程是你最好的選擇之一。完成這個課程後,你就能輕鬆的利用Python寫一些小指令碼,同時也能理解Python中的類和對象。

具體學習內容:列表Lists,元組Tuples,字典Dictionaries,列表推導式,字典推導式。
任務:解決HackerRank上的一些Python教程題,這些題能讓你更好的用Python指令碼的方式去思考問題。
替代資源:如果你不喜歡互動編碼這種學習方式,你也可以學習Google的Python課程。這個2天的課程系列不但包含前邊提到的Python知識,還包含了一些後邊將要討論的東西。

步驟3:學習Python語言中的Regex

你會經常用到Regex來進行資料清理,尤其是當你處理文本資料的時候。學習Regex的最好方法是參加Google的Python課程,它會讓你能更容易的使用Regex。

任務:做關於小孩名字的Regex練習。

如果你還需要更多的練習,你可以參與這個文本清理的教程。資料預先處理中涉及到的各個處理步驟對你來說都會是不小的挑戰。

步驟4:學習Python中的科學庫—NumPy, SciPy, Matplotlib以及Pandas

從這步開始,學習旅程將要變得有趣了。下邊是對各個庫的簡介,你可以進行一些常用的操作:

•根據NumPy教程進行完整的練習,特別要練習數組arrays。這將會為下邊的學習旅程打好基礎。
•接下來學習Scipy教程。看完Scipy介紹和基礎知識後,你可以根據自己的需要學習剩餘的內容。
•這裡並不需要學習Matplotlib教程。對於我們這裡的需求來說,Matplotlib的內容過於廣泛。取而代之的是你可以學習這個筆記中前68行的內容。
•最後學習Pandas。Pandas為Python提供DataFrame功能(類似於R)。這也是你應該花更多的時間練習的地方。Pandas會成為所有中等規模資料分析的最有效工具。作為開始,你可以先看一個關於Pandas的10分鐘簡短介紹,然後學習一個更詳細的Pandas教程。
您還可以學習兩篇部落格Exploratory Data Analysis with Pandas和Data munging with Pandas中的內容。

額外資源:
•如果你需要一本關於Pandas和Numpy的書,建議Wes McKinney寫的“Python for Data Analysis”。
•在Pandas的文檔中,也有很多Pandas教程,你可以在這裡查看。

任務:嘗試解決哈佛CS109課程的這個任務。

步驟5:有用的資料視覺效果

參加CS109的這個課程。你可以跳過前邊的2分鐘,但之後的內容都是乾貨。你可以根據這個任務來完成課程的學習。

步驟6:學習Scikit-learn庫和機器學習的內容

現在,我們要開始學習整個過程的實質部分了。Scikit-learn是機器學習領域最有用的Python庫。這裡是該庫的簡要概述。完成哈佛CS109課程的課程10到課程18,這些課程包含了機器學習的概述,同時介紹了像迴歸、決策樹、整體模型等監督演算法以及聚類等非監督演算法。你可以根據各個課程的任務來完成相應的課程。

額外資源:

•如果說有那麼一本書是你必讀的,推薦Programming Collective Intelligence。這本書雖然有點老,但依然是該領域最好的書之一。
•此外,你還可以參加來自Yaser Abu-Mostafa的機器學習課程,這是最好的機器學習課程之一。如果你需要更易懂的機器學習技術的解釋,你可以選擇來自Andrew Ng的機器學習課程,並且利用Python做相關的課程練習。
•Scikit-learn的教程

任務:嘗試Kaggle上的這個挑戰

步驟7:練習,練習,再練習

恭喜你,你已經完成了整個學習旅程。

你現在已經學會了你需要的所有技能。現在就是如何練習的問題了,還有比通過在Kaggle上和資料科學家們進行競賽來練習更好的方式嗎?深入一個當前Kaggle上進行中的比賽,嘗試使用你已經學過的所有知識來完成這個比賽。

步驟8:深度學習

現在你已經學習了大部分的機器學習技術,是時候關注一下深度學習了。很可能你已經知道什麼是深度學習,但是如果你仍然需要一個簡短的介紹,可以看這裡。

我自己也是深度學習的新手,所以請有選擇性的採納下邊的一些建議。deeplearning.net上有深度學習方面最全面的資源,在這裡你會發現所有你想要的東西—講座、資料集、挑戰、教程等。你也可以嘗試參加Geoff Hinton的課程,來瞭解神經網路的基本知識。

附言:如果你需要大資料方面的庫,可以試試Pydoop和PyMongo。大資料學習路線不是本文的範疇,是因為它自身就是一個完整的主題。

 

以上轉載自:http://python.jobbole.com/80981/

用於學習交流。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.