原文地址:Comprehensive learning path – Data Science in Python
假如你想成為一個(gè)數(shù)據(jù)科學(xué)家崔步,或者已經(jīng)是數(shù)據(jù)科學(xué)家的你想擴(kuò)展你的技能,那么你已經(jīng)來(lái)對(duì)地方了。本文的目的就是給數(shù)據(jù)分析方面的Python新手提供一個(gè)完整的學(xué)習(xí)路徑级及。該路徑提供了你需要學(xué)習(xí)的利用Python進(jìn)行數(shù)據(jù)分析的所有步驟的完整概述。如果你已經(jīng)有一些相關(guān)的背景知識(shí)额衙,或者你不需要路徑中的所有內(nèi)容饮焦,你可以隨意調(diào)整你自己的學(xué)習(xí)路徑,并且讓大家知道你是如何調(diào)整的窍侧。
步驟0:熱身
開(kāi)始學(xué)習(xí)旅程之前县踢,先回答第一個(gè)問(wèn)題:為什么使用Python?或者伟件,Python如何發(fā)揮作用硼啤?
觀看DataRobot創(chuàng)始人Jeremy在PyCon Ukraine 2014上的30分鐘演講,來(lái)了解Python是多么的有用斧账。
步驟1:設(shè)置你的機(jī)器環(huán)境
現(xiàn)在你已經(jīng)決心要好好學(xué)習(xí)了谴返,也是時(shí)候設(shè)置你的機(jī)器環(huán)境了。最簡(jiǎn)單的方法就是從http://Continuum.io 上下載分發(fā)包Anaconda咧织。Anaconda將你以后可能會(huì)用到的大部分的東西進(jìn)行了打包嗓袱。采用這個(gè)方法的主要缺點(diǎn)是,即使可能已經(jīng)有了可用的底層庫(kù)的更新习绢,你仍然需要等待Continuum去更新Anaconda包渠抹。當(dāng)然如果你是一個(gè)初學(xué)者,這應(yīng)該沒(méi)什么問(wèn)題闪萄。
如果你在安裝過(guò)程中遇到任何問(wèn)題梧却,你可以在這里找到不同操作系統(tǒng)下更詳細(xì)的安裝說(shuō)明。
步驟2:學(xué)習(xí)Python語(yǔ)言的基礎(chǔ)知識(shí)
你應(yīng)該先去了解Python語(yǔ)言的基礎(chǔ)知識(shí)败去、庫(kù)和數(shù)據(jù)結(jié)構(gòu)放航。Codecademy上一些免費(fèi)的Python課是你最好的選擇之一。本課程的重點(diǎn)是如何開(kāi)始使用Python進(jìn)行數(shù)據(jù)科學(xué)圆裕,完成這個(gè)課程后三椿,您應(yīng)該可以熟悉python語(yǔ)言的基本概念,并利用他寫一些小腳本葫辐。
作業(yè):參加由分析公司Vidhya提供的免費(fèi)Python課程
替代資源:如果你不喜歡交互編碼這種學(xué)習(xí)方式搜锰,你也可以學(xué)習(xí)谷歌的Python課程。這個(gè)2天的課程系列不但包含前邊提到的Python知識(shí)耿战,還包含了一些后邊將要討論的東西蛋叼。
步驟3:學(xué)習(xí)Python語(yǔ)言中的正則表達(dá)式
你會(huì)經(jīng)常用到正則表達(dá)式來(lái)進(jìn)行數(shù)據(jù)清理,尤其是當(dāng)你處理文本數(shù)據(jù)的時(shí)候。學(xué)習(xí)正則表達(dá)式的最好方法是參加谷歌的Python課程狈涮,它會(huì)讓你能更容易的使用正則表達(dá)式狐胎。
作業(yè):做關(guān)于小孩名字的正則表達(dá)式練習(xí)。
如果你還需要更多的練習(xí)歌馍,你可以參與這個(gè)文本清理的教程握巢。數(shù)據(jù)預(yù)處理中涉及到的各個(gè)處理步驟對(duì)你來(lái)說(shuō)都會(huì)是不小的挑戰(zhàn)。
步驟4:學(xué)習(xí)Python中的科學(xué)庫(kù)—NumPy, SciPy, Matplotlib以及Pandas
從這步開(kāi)始松却,學(xué)習(xí)旅程將要變得有趣了暴浦。下邊是對(duì)各個(gè)庫(kù)的簡(jiǎn)介,你可以進(jìn)行一些常用的操作:
根據(jù)NumPy教程進(jìn)行完整的練習(xí)晓锻,特別要練習(xí)數(shù)組arrays歌焦。這將會(huì)為下邊的學(xué)習(xí)旅程打好基礎(chǔ)。
接下來(lái)學(xué)習(xí)Scipy教程砚哆《榔玻看完Scipy介紹和基礎(chǔ)知識(shí)后,你可以根據(jù)自己的需要學(xué)習(xí)剩余的內(nèi)容躁锁。
這里并不需要學(xué)習(xí)Matplotlib教程纷铣。對(duì)于我們這里的需求來(lái)說(shuō),Matplotlib的內(nèi)容過(guò)于廣泛战转。取而代之的是你可以學(xué)習(xí)這個(gè)筆記中前68行的內(nèi)容搜立。
-
最后學(xué)習(xí)Pandas。Pandas為Python提供DataFrame功能(類似于R)匣吊。這也是你應(yīng)該花更多的時(shí)間練習(xí)的地方。Pandas會(huì)成為所有中等規(guī)模數(shù)據(jù)分析的最有效的工具寸潦。作為開(kāi)始色鸳,你可以先看一個(gè)關(guān)于Pandas的10分鐘簡(jiǎn)短介紹,然后學(xué)習(xí)一個(gè)更詳細(xì)的Pandas教程见转。
您還可以學(xué)習(xí)兩篇博客Exploratory Data Analysis with Pandas和Data munging with Pandas中的內(nèi)容命雀。
額外資源:
- 如果你需要一本關(guān)于Pandas和Numpy的書,建議Wes McKinney寫的“Python for Data Analysis”斩箫。
- 在Pandas的文檔中吏砂,也有很多Pandas教程,你可以在這里查看乘客。
作業(yè):嘗試解決哈佛CS109課程的這個(gè)任務(wù)狐血。
步驟5:有用的數(shù)據(jù)可視化
參加CS109的這個(gè)課程。你可以跳過(guò)前邊的2分鐘易核,但之后的內(nèi)容都是干貨匈织。你可以根據(jù)這些作業(yè)來(lái)完成課程的學(xué)習(xí)。
步驟6:學(xué)習(xí)Scikit-learn庫(kù)和機(jī)器學(xué)習(xí)的內(nèi)容
現(xiàn)在,我們要開(kāi)始學(xué)習(xí)整個(gè)過(guò)程的實(shí)質(zhì)部分了缀匕。Scikit-learn是機(jī)器學(xué)習(xí)領(lǐng)域最有用的Python庫(kù)纳决。可以看看該庫(kù)的簡(jiǎn)要概述乡小。完成哈佛CS109課程的課程10到課程18阔加,這些課程包含了機(jī)器學(xué)習(xí)的概述,同時(shí)介紹了像回歸满钟、決策樹(shù)胜榔、整體模型等監(jiān)督算法以及聚類等非監(jiān)督算法。你可以根據(jù)各個(gè)課程的作業(yè)來(lái)完成相應(yīng)的課程零远。
額外資源:
- 如果說(shuō)有那么一本書是你必讀的苗分,推薦Programming Collective Intelligence。這本書雖然有點(diǎn)老牵辣,但依然是該領(lǐng)域最好的書之一摔癣。
- 此外,你還可以參加來(lái)自Yaser Abu-Mostafa的機(jī)器學(xué)習(xí)課程纬向,這是最好的機(jī)器學(xué)習(xí)課程之一择浊。如果你需要更易懂的機(jī)器學(xué)習(xí)技術(shù)的解釋,你可以選擇來(lái)自Andrew Ng的機(jī)器學(xué)習(xí)課程逾条,并且利用Python做相關(guān)的課程練習(xí)琢岩。
步驟7:練習(xí)师脂,練習(xí),再練習(xí)!!!!!!
恭喜你糕篇,你已經(jīng)完成了整個(gè)學(xué)習(xí)旅程。你現(xiàn)在已經(jīng)學(xué)會(huì)了你需要的所有技能酌心。
現(xiàn)在就是如何練習(xí)的問(wèn)題了拌消,還有比通過(guò)在DataHack上和數(shù)據(jù)科學(xué)家們進(jìn)行競(jìng)賽來(lái)練習(xí)更好的方式嗎安券?(這里應(yīng)該是作者做了一些更改墩崩,記得以前的版本侯勉,推薦的是Kaggle鹦筹。不過(guò)都是不錯(cuò)的實(shí)戰(zhàn)平臺(tái))
步驟8:深度學(xué)習(xí)
現(xiàn)在你已經(jīng)學(xué)習(xí)了大部分的機(jī)器學(xué)習(xí)技術(shù),是時(shí)候關(guān)注一下深度學(xué)習(xí)了址貌。很可能你已經(jīng)知道什么是深度學(xué)習(xí)盛龄,但是如果你仍然需要一個(gè)簡(jiǎn)短的介紹,可以看這里啊鸭。
我自己也是深度學(xué)習(xí)的新手匿值,所以請(qǐng)有選擇性的采納下邊的一些建議。deeplearning.net上有深度學(xué)習(xí)方面最全面的資源挟憔,在這里你會(huì)發(fā)現(xiàn)所有你想要的東西—講座、數(shù)據(jù)集政恍、挑戰(zhàn)达传、教程等。
附言:這篇文章雖然是2015年的宪赶,但是對(duì)于剛?cè)腴Tpython,同時(shí)想學(xué)數(shù)據(jù)科學(xué)的同學(xué)還是很有參考價(jià)值的蒙保。而且點(diǎn)開(kāi)原文后欲主,作者有在開(kāi)頭更新了一版2019年學(xué)習(xí)路徑,有興趣的也可以去看看扁瓢。