網上雖然有很多Python學習的教程,但是大多是圍繞Python網頁開發等展開。數據分析所需要的Python技能和網頁開發等差別非常大,本人就是浪費了很多時間來看這些博客、書籍。所以就有了本文,希望能幫大家少走一點彎路。
-----------------我是分割線--------------
本文章主要從數據分析、機器學習(深度學習)的目的出發, 講講如何零基礎學習Python語法、數據分析模塊(Numpy、Scipy、Scikit和Pandas等)以及使用python進行機器學習(SFrame,tensorflow)。
(今天就寫個小框架吧^_^)
去年開始接觸Python數據分析的學習,全是自學,所以對於廣大網友來說應該有較大的借鑒意義。熟練掌握任何一門語言,幾乎都需要經過以下過程:
- 良師--學習Python課程+入門書籍+瀏覽技術博客
- 社區幫助--善於使用搜索引擎、Mail List
- 益友 -- 尋找學習伙伴
- Learn by Code --項目實踐
一、Python學習課程推薦
這兩個學習課程從最基礎的Python語法開始,介紹了Python數據分析、統計模型以及機器學習的各個方面,內容十分充足。之所以建議使用老外的課程是因為,老外上課假定你什么都不會,講解深入淺出,尤其是對於華盛頓大學的機器學習課程,把復雜的概念講解得十分簡單。
1. 密歇根大學的《學習使用Python編程並分析數據》主要包括以下課程(講解十分詳細,深入淺出,非常適合入門學習,視頻都是有字幕的):
- 《大家的編程 (Python 入門》:課程涵蓋了如何使用Python的基本指令編寫程序. 課程對學生沒有先設要求, 我們只涉及到最基本的數學, 有一定使用電腦經驗的人都可以完全掌握這門課的內容.
- 《Python 數據結構》:本課程將介紹Python編程語言的核心數據結構。我們將學習編程語言的基礎概念,探索如何使用Python的內置數據結構,如列表、字典、元組,進行更為復雜的數據分析。
- 《使用 Python 訪問網絡數據》:使用Python爬取和解析網絡數據
- 《Python 數據庫開發》:使用Python和數據庫進行交互
- 《使用 Python 獲取並處理數據,並用可視化方式展現數據》
2. 華盛頓大學的《機器學習》專項課程
在專項課程頁面無法選擇旁聽,必須點擊進入單獨課程頁面才可,這個課程專題旁聽是有限制的,無法提交作業;如有需求,可以申請獎學金,回答三個問題即可,系統自動通過申請。
- 《機器學習基礎:案例研究》:你是否好奇數據可以告訴你什么?你是否想在關於機器學習促進商業的核心方式上有深層次的理解?你是否想能同專家們討論關於回歸,分類,深度學習以及推薦系統的一切?在這門課上,你將會通過一系列實際案例學習來獲取實踐經歷。
- 《機器學習:回歸》
- 《機器學習:分類》
- 《機器學習:聚類和檢索》
- 《機器學習:推薦系統和降維》
- 《機器學習:應用深度學習創建智能運用》
二、網上打碼教程
Learn by doing!!! 學習編程最有效的方式就是敲代碼!
- Codecademy 圍繞Python 的基礎語法,內容非常豐富。
- Datacamp Python基本語法(他家的R語言課程十分不錯!)
三、Python技術博客
簡單介紹一些非常棒的Python技術學習的博客
1. 廖雪峰Python教程 簡單易上手的Python基礎語法教程,非常值得學習
四、Python入門書籍推薦
常用書籍下載網址,幾乎囊括了網上能找得到的所有Python相關的書籍(PDF、Epub和mo bi格式),且提供雲盤下載鏈接。你值得擁有!
http://www.salttiger.com/?s=python
1. 掌握Python語法的基礎上學習《Python for data analysis》是比較不錯的選擇,涵蓋了ipython notebook、Numpy、Scipy和Pandas包的使用。
2.《Python數據分析與挖掘實戰》介紹了使用Python進行數據挖掘的詳細案例,數據和代碼都可以下載,作為機器學習的進階學習是不錯的選擇(這本書也用對應的R語言和Matlab 版本)。
3. 《Python Cookbook》很厚的一本書,可以作為Python語法查詢手冊。
再添加幾個外文書籍下載網址:
1. http://gen.lib.rus.ec 全,可能需要使用翻*牆下載,翻*牆方法見文末
3. http://avxhome.in/ebooks/programming_development
五、推薦訂閱博客(更細頻率較高)
iPhone上可以使用Reeder閱讀器,Instapaper用來保存后稍后閱讀,因為信息量比較大。
- No free Hunch Kaggle競賽平台的官方博客,包括一些優秀的代碼解讀以及高分選手的采訪,十分有用的經驗(來自不同背景,不同年齡層次,不同職業的選手)
- Flowing Data 十分有用的數據分析的案例
- Python日報 內容十分精彩的集錦(中文)
六、FAQ (待續)
- Python 2.x還是Python 3.x?
- 如何安裝Python包? 強烈推薦Anaconda包,你值得擁有!尤其是Windows系統。
- 網絡速度慢,請翻*牆,安利一款免費好用Google開發的防屏蔽的梯子Lantern, (無法下載更新可以私信我),速度不錯。
- 是否需要很強的統計和數學背景? 有良好的數學和統計背景固然很好,但是現在很多崗位對數學和統計背景要求並不很多,都是簡單的算法,Python編程已經能夠很方便地實現,更多的是對業務的深入理解。如有需要建議,邊學習Python邊學習數學統計。
七、實踐項目
- Kaggle競賽項目,里面不僅僅有很多競賽項目,而且有很多可供學習的代碼、博客以及論壇,都是實戰項目,有很強的實踐價值。