假如你想成為一個數(shù)據科學家,或者已經是數(shù)據科學家的你想擴展你的技能帖渠,那么你已經來對地方了桑涎。本文的目的就是給數(shù)據分析方面的Python新手提供一個完整的學習路徑。該路徑提供了你需要學習的利用Python進行數(shù)據分析的所有步驟的完整概述逃片。如果你已經有一些相關的背景知識屡拨,或者你不需要路徑中的所有內容只酥,你可以隨意調整你自己的學習路徑,并且讓大家知道你是如何調整的呀狼。
步驟0:熱身
開始學習旅程之前裂允,先回答第一個問題:為什么使用Python?或者哥艇,Python如何發(fā)揮作用绝编?觀看DataRobot創(chuàng)始人Jeremy在PyCon Ukraine 2014上的30分鐘演講,來了解Python是多么的有用貌踏。
步驟1:設置你的機器環(huán)境
現(xiàn)在你已經決心要好好學習了十饥,也是時候設置你的機器環(huán)境了。最簡單的方法就是從Continuum.io上下載分發(fā)包Anaconda祖乳。Anaconda將你以后可能會用到的大部分的東西進行了打包逗堵。采用這個方法的主要缺點是,即使可能已經有了可用的底層庫的更新眷昆,你仍然需要等待Continuum去更新Anaconda包蜒秤。當然如果你是一個初學者,這應該沒什么問題亚斋。
如果你在安裝過程中遇到任何問題作媚,你可以在這里找到不同操作系統(tǒng)下更詳細的安裝說明。
步驟2:學習Python語言的基礎知識
你應該先去了解Python語言的基礎知識伞访、庫和數(shù)據結構掂骏。Codecademy上的Python課程是你最好的選擇之一。完成這個課程后厚掷,你就能輕松的利用Python寫一些小腳本弟灼,同時也能理解Python中的類和對象。
具體學習內容:列表Lists冒黑,元組Tuples田绑,字典Dictionaries,列表推導式抡爹,字典推導式掩驱。任務:解決HackerRank上的一些Python教程題,這些題能讓你更好的用Python腳本的方式去思考問題冬竟。替代資源:如果你不喜歡交互編碼這種學習方式欧穴,你也可以學習谷歌的Python課程。這個2天的課程系列不但包含前邊提到的Python知識泵殴,還包含了一些后邊將要討論的東西涮帘。
步驟3:學習Python語言中的正則表達式
你會經常用到正則表達式來進行數(shù)據清理,尤其是當你處理文本數(shù)據的時候笑诅。學習正則表達式的最好方法是參加谷歌的Python課程调缨,它會讓你能更容易的使用正則表達式疮鲫。
任務:做關于小孩名字的正則表達式練習。
如果你還需要更多的練習弦叶,你可以參與這個文本清理的教程俊犯。數(shù)據預處理中涉及到的各個處理步驟對你來說都會是不小的挑戰(zhàn)。
步驟4:學習Python中的科學庫—NumPy, SciPy, Matplotlib以及Pandas
從這步開始伤哺,學習旅程將要變得有趣了燕侠。下邊是對各個庫的簡介,你可以進行一些常用的操作:
?根據NumPy教程進行完整的練習立莉,特別要練習數(shù)組arrays贬循。這將會為下邊的學習旅程打好基礎。?接下來學習Scipy教程桃序。看完Scipy介紹和基礎知識后烂瘫,你可以根據自己的需要學習剩余的內容媒熊。?這里并不需要學習Matplotlib教程。對于我們這里的需求來說坟比,Matplotlib的內容過于廣泛芦鳍。取而代之的是你可以學習這個筆記中前68行的內容。?最后學習Pandas葛账。Pandas為Python提供DataFrame功能(類似于R)柠衅。這也是你應該花更多的時間練習的地方。Pandas會成為所有中等規(guī)模數(shù)據分析的最有效的工具籍琳。作為開始菲宴,你可以先看一個關于Pandas的10分鐘簡短介紹,然后學習一個更詳細的Pandas教程趋急。您還可以學習兩篇博客Exploratory Data Analysis with Pandas和Data munging with Pandas中的內容喝峦。
額外資源:?如果你需要一本關于Pandas和Numpy的書,建議Wes McKinney寫的“Python for Data Analysis”呜达。?在Pandas的文檔中谣蠢,也有很多Pandas教程,你可以在這里查看查近。
任務:嘗試解決哈佛CS109課程的這個任務眉踱。
步驟5:有用的數(shù)據可視化
參加CS109的這個課程。你可以跳過前邊的2分鐘霜威,但之后的內容都是干貨谈喳。你可以根據這個任務來完成課程的學習。
步驟6:學習Scikit-learn庫和機器學習的內容
現(xiàn)在侥祭,我們要開始學習整個過程的實質部分了叁执。Scikit-learn是機器學習領域最有用的Python庫茄厘。這里是該庫的簡要概述。完成哈佛CS109課程的課程10到課程18谈宛,這些課程包含了機器學習的概述次哈,同時介紹了像回歸、決策樹吆录、整體模型等監(jiān)督算法以及聚類等非監(jiān)督算法窑滞。你可以根據各個課程的任務來完成相應的課程。
額外資源:
?如果說有那么一本書是你必讀的恢筝,推薦Programming Collective Intelligence哀卫。這本書雖然有點老,但依然是該領域最好的書之一撬槽。?此外此改,你還可以參加來自Yaser Abu-Mostafa的機器學習課程,這是最好的機器學習課程之一侄柔。如果你需要更易懂的機器學習技術的解釋共啃,你可以選擇來自Andrew Ng的機器學習課程,并且利用Python做相關的課程練習暂题。?Scikit-learn的教程
任務:嘗試Kaggle上的這個挑戰(zhàn)
步驟7:練習移剪,練習,再練習
恭喜你薪者,你已經完成了整個學習旅程纵苛。
你現(xiàn)在已經學會了你需要的所有技能。現(xiàn)在就是如何練習的問題了言津,還有比通過在Kaggle上和數(shù)據科學家們進行競賽來練習更好的方式嗎攻人?深入一個當前Kaggle上正在進行的比賽,嘗試使用你已經學過的所有知識來完成這個比賽纺念。
步驟8:深度學習
現(xiàn)在你已經學習了大部分的機器學習技術贝椿,是時候關注一下深度學習了。很可能你已經知道什么是深度學習陷谱,但是如果你仍然需要一個簡短的介紹烙博,可以看這里。
我自己也是深度學習的新手烟逊,所以請有選擇性的采納下邊的一些建議渣窜。deeplearning.net上有深度學習方面最全面的資源,在這里你會發(fā)現(xiàn)所有你想要的東西—講座宪躯、數(shù)據集乔宿、挑戰(zhàn)、教程等访雪。你也可以嘗試參加Geoff Hinton的課程详瑞,來了解神經網絡的基本知識掂林。
附言:如果你需要大數(shù)據方面的庫,可以試試Pydoop和PyMongo坝橡。大數(shù)據學習路線不是本文的范疇泻帮,是因為它自身就是一個完整的主題。
數(shù)據科學的完整學習路徑(Python版)
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門棋电,熙熙樓的掌柜王于貴愁眉苦臉地迎上來朽基,“玉大人,你說我怎么就攤上這事离陶。” “怎么了衅檀?”我有些...
- 正文 為了忘掉前任杉适,我火速辦了婚禮谎倔,結果婚禮上,老公的妹妹穿的比我還像新娘猿推。我一直安慰自己片习,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布蹬叭。 她就那樣靜靜地躺著藕咏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪秽五。 梳的紋絲不亂的頭發(fā)上孽查,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绿映!你這毒婦竟也來了擒滑?” 一聲冷哼從身側響起,我...
- 正文 年R本政府宣布阵漏,位于F島的核電站,受9級特大地震影響翻具,放射性物質發(fā)生泄漏履怯。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一裆泳、第九天 我趴在偏房一處隱蔽的房頂上張望叹洲。 院中可真熱鬧,春花似錦工禾、人聲如沸运提。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽糙捺。三九已至,卻和暖如春笙隙,著一層夾襖步出監(jiān)牢的瞬間洪灯,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內容
- 這篇文章是2年前翻譯的昧旨,發(fā)表在伯樂翻譯小組拾给,曾經在微博上被大量轉發(fā)、收藏兔沃,所以這里拿過來再次和大家分享一下蒋得。原文地...
- 機器學習(Machine Learning)&深度學習(Deep Learning)資料(Chapter 1) 注...
- 點擊鏈接加入群【我愛python大神】:https://jq.qq.com/ 如果你對精彩的數(shù)據科學世界感興趣,但...