報告為燈塔大數(shù)據(jù)原創(chuàng)內(nèi)容,歡迎個人轉(zhuǎn)載,其他機構(gòu)轉(zhuǎn)載請在文章開頭標注:
“轉(zhuǎn)自:燈塔大數(shù)據(jù);微信:DTbigdata”
Python菜鳥到Python Kaggler
如果你夢想成為一名數(shù)據(jù)科學家,或者已然是數(shù)據(jù)科學家的你想擴展自己的工具庫,那么,你找對地方啦。本文旨在為做數(shù)據(jù)分析的Python人提供一條全方位的學習之路,完整講述運用Python進行數(shù)據(jù)分析的所有步驟。當然,如果你已經(jīng)有了一些知識儲備,或者無需掌握全部的內(nèi)容,可以按照自己的需求做出調(diào)整,也歡迎與我們分享你是如何調(diào)整的。
你也可以參考本學習方法的迷你版 ——《 信息圖表:Python數(shù)據(jù)科學學習之快速入門》。
本文推薦學習內(nèi)容的全部清單,請關(guān)注并在公眾號里回復“學神之路”即可下載!起步熱身
開始這段學習旅程之前,第一個要回答的問題是:為什么使用Python?或者,Python怎樣使用才有效?
請觀看Data Robot創(chuàng)始人Jeremy 2014年在烏克蘭的PyCon大會上的前30分鐘的演講,來了解Python是多么的奇妙?。ㄔ诠娞柪锘貜汀皩W神之路”即可下載。)
第一步設置機器環(huán)境
既然你已經(jīng)下定了決心,就開始設置機器環(huán)境吧。最簡單的方法就是在Continuum.io下載分發(fā)包Anaconda。 這里材料應有盡有,美中不足就是即使在數(shù)據(jù)庫提供了可用的更新資源時,你也要等Continuum自行更新。不過如果你是初學者的話,這點就無關(guān)緊要了。
如果你在安裝過程中遇到任何問題,你可以在這里找到不同操作系統(tǒng)下更詳細的安裝說明。(在公眾號里回復“學神之路”即可下載。)
第二步學習Python語言基礎(chǔ)
首先你要理解語言、數(shù)據(jù)庫和數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識。Codecademy 上的Python課程是這段學習之路的最佳起點。課程結(jié)束時,用Python寫計算機腳本、理解類和對象這些對你來說應該早就駕輕就熟了。
學習重點:列表Lists,元組Tuples,字典Dictionaries,列表推導式,字典推導式。
學習任務:解決HackerRank上的一些Python教程題,這些題能讓你更好的用Python腳本的方式去思考問題。
替代資源:如果交互式編碼不是你的風格,可以參考谷歌的Python課程,這個兩天的系列課程還涵蓋了接下來要討論的一些內(nèi)容。(在公眾號里回復“學神之路”即可下載。)
第三步學習Python正則表達式
進行數(shù)據(jù)清理經(jīng)常需要使用正則表達式,處理文本數(shù)據(jù)時尤其如此。學習正則表達式的最佳方式就是完成谷歌課程,cheat sheet會讓你使用正則表達式變得更加便捷熟練。
學習任務:做關(guān)于兒童名字的正則表達式練習
如果你仍需要更多練習,請參考文本整理的教程,它會鍛煉你對處理數(shù)據(jù)的各個步驟的把握能力。(在公眾號里回復“學神之路”即可下載。)
第四步學習Python科學數(shù)據(jù)庫——NumPy, SciPy, Matplotlib和 Pandas有趣之處由此開始!下面是對各種數(shù)據(jù)庫的一一介紹,讓我們開始練習一些簡單操作吧。
●系統(tǒng)練習NumPy 教程,尤其要練習arrays數(shù)組。這會為你接下來的學習打下良好的基礎(chǔ)。
●接下來了解一下SciPy教程。瀏覽一下SciPy介紹和基本知識之后,學習其余你需要的部分。
●如果你猜這一步要講Matplotlib教程——那就大錯特錯了。Matplotlib教程對我們目前的階段來說綜合性太強,這里我們推薦閱讀ipython notebook前68行(就是到動畫這一部分)。
●最后,讓我們了解下Pandas。Pandas為Python提供DataFrame功能(類R語言),這也是值得你認真花時間練習的地方。Pandas有可能成為所有中型數(shù)據(jù)分析中最有效的工具。先看一下簡單介紹《十分鐘走近Pandas》(10 minutes to pandas),然后再轉(zhuǎn)入Pandas教程的詳細學習。
你也可以參考《Pandas探索性數(shù)據(jù)分析》(Exploratory Data Analysis with Pandas)和《Pandas數(shù)據(jù)處理》(Data munging with Pandas)里的內(nèi)容。(在公眾號里回復“學神之路”即可下載。)
其他資源:
●如果你需要有關(guān)Pandas和NumPy的書籍,Wes McKinney 寫的《運用Python的數(shù)據(jù)分析》值得一讀。
●有關(guān)Pandas文檔的教程也有很多。
學習任務:完成哈佛CS109的課程作業(yè)。
第五步有效的數(shù)據(jù)可視化
學習CS109課程時,前兩分鐘可以忽略不看,不過后面的內(nèi)容相當精彩!推薦結(jié)合作業(yè)學習本課程。(在公眾號里回復“學神之路”即可下載。)
第六步學習Scikit-learn庫,完成機器學習內(nèi)容
現(xiàn)在,我們開始接觸整個過程中最重要的部分了。Scikit-learn是機器學習領(lǐng)域最有用的Python數(shù)據(jù)庫,在這里你可以查看數(shù)據(jù)庫的概覽。參考學習哈佛CS109課程第十節(jié)到第十八節(jié)課,你將能一覽機器學習,回歸、決策樹方法、集成建模等監(jiān)督算法,以及聚類算法等非監(jiān)督式算法??梢詤⒖忌鲜稣n程的作業(yè)來規(guī)劃自己的學習課程。
其他資源:
●如果說有哪本書可以作為必讀書的話,推薦《集體智能編程》(Programming Collective Intelligence)—— 一部該領(lǐng)域的經(jīng)典好書。●此外,你也可以學習Yaser Abu-Mostafa中機器學習課程中的一些優(yōu)秀課程。如果你希望獲得對技能更加深入淺出的解讀,可以選擇Andrew Ng的機器學習課程,并做一些有關(guān)Python的練習。
●Scikit learn的教程。
學習任務:嘗試Kaggle上的挑戰(zhàn)。(在公眾號里回復“學神之路”即可下載。)
第七步練習,練習,再練習
恭喜你,你成功地完成了整個學神之路啦!
你現(xiàn)在已經(jīng)具備了一切所需的技術(shù)技能,現(xiàn)在就是練習的事情了,還有比在Kaggle上與同行數(shù)據(jù)科學家切磋更好的方式么?那就出發(fā)吧,全身心投入到一個Kaggle的直播比賽中,傾盡所學放手一試吧?。ㄔ诠娞柪锘貜汀皩W神之路”即可下載。)
第八步深度學習
現(xiàn)在你已經(jīng)學習了大部分的機器學習技能,也是時候嘗試一下深度學習了。你很有可能已經(jīng)知道了深度學習的含義,當然我也可以給你們一個簡單的介紹。
不過我對深度學習也不是特別了解,所以你在采納這些建議時可以有所保留:deeplearning.net上有深度學習方面最全面的資源 ,你會發(fā)現(xiàn)這里應有盡有 —— 課程、數(shù)據(jù)集、挑戰(zhàn)、各種教程等;或者你也可以嘗試 Geoff Hinton的課程來試著理解神經(jīng)網(wǎng)絡(Neural Networks)的基礎(chǔ)知識。(在公眾號里回復“學神之路”即可下載。)
翻譯:燈塔大數(shù)據(jù)
聯(lián)系客服