Python 數據分析學習路線
1 概述
數據類有多火就不多說了,數據和數據分析在生活中的實用性和重要性都是不言而喻。正是由於此類的原因,利用業餘時間自學了一段時間的數據分析。
剛開始的時候,面對多如牛毛一樣信息,感覺像是狗咬刺蝟,無處下口。經過大約幾個月的摸索,大概有了一定的了解。想著記錄自己的學習歷程能夠幫助自己學習,或許也能夠給相同境遇的人提供幫助,共同學習進步。於是乎,回過頭來整理下自己的學習,借用狼人殺的話說就是將自己的心路歷程記錄與此,以茲共同進步。入門不久,道行尚淺,如有錯誤,不吝賜教。
2 數據分析知識學習路線
數據分析是什麼呢?百度如是說:
數據分析是指用適當利用統計分析方法對收集來的大量數據進行分析,提取有用信息和形成結論而對數據加以詳細研究和概括總結的過程。
概括成一句話就是分析數據,得到結果。所以需要學習的東西為分析數據的方法。
2.1 知識構成
這裡記錄的是利用 Python 進行數據分析的情況,基於目前的認知 (後續可能修改),大體上需要的知識構成為:
- 數學知識
- Python 基礎知識
- Python 數據分析包使用
進階部分,需要掌握的知識有:
- 爬蟲
- 機器學習和深度學習
- 大數據
2.2 數學知識
由於本人為理工男,這一部分略過了。目前來看,需要的知識主要為 《概率論與數理統計》。
2.3 Python 基礎知識
由於只需要掌握計算部分的知識,Python 的基礎知識需要了解以下內容:
- 基本語法
- 數據類型和變數
- 條件語句和循環語句
- 函數和模塊的概念
這裡推薦兩個教程:
- A Byte of Python
- 廖雪峰 Python 教程
2.4 Python 數據分析包
主要掌握 Python 相關數據分析包的使用,包括 Numpy/pandas/matplotlib 等。這也是需要重點掌握的內容。參考的書為《利用 Python 進行數據分析》。當時看完該書感覺學到了很多,然後過幾天就忘記了。所以這部分的學習內容主要是練習各個包的使用,特別是 Pandas 包。另外,看書不練手往往使會使得自己很疑惑,不知道數據分析具體的工作內容到底是什麼。為此,我爬取了一些數據,練習了幾個數據分析,記錄在後續的文章中。
2.5 進階知識
大部分時間都花在學習這方面的內容,根據各人的基礎不一樣,感覺這部分學習可以稍後,可以主要學習前面的內容。大概記錄下自己的學習過程。
2.5.1 網頁爬蟲
爬蟲的話主要參考兩個內容:
- MOOC 公開課:Python網路爬蟲與信息提取
- 靜覓博客
看完上述兩部分內容後,爬取了幾個網站的內容練手,也是後續文章中用於練手的數據來源。
2.5.2 機器學習和深度學習
斷續看了三本書,推導了機器學習的常用演算法。三本書為:
- 《機器學習》, 周志華
- 《統計學習方法》, 李航
- Pattern Recognition and Machine Learning (PRML), Christopher M. Bishop.
主要參考的是兩本中文書,第三本書看了部分內容,推導了常用的演算法 (預想之後以簡潔的不帶公式的方式介紹這部分內容)。個人覺得不是做相關方面的研究者,只需要大體上掌握各類演算法原理以及如何利用機器學習包。後續文章會有利用機器學習包實現數據分析的內容。
關於深度學習的話,目前還沒有系統的學習,零碎的了解了一下。深度學習就是各種神經網路如何解算的問題。經過簡單學習,認為最適合新手的深度學習包為 Keras。(待續)
2.5.3 大數據
大概瞄了下 Hadoop 權威指南。(待續)
3 小.結
這裡總結了大概上的學習歷程,在後續的文章中將具體記錄自己練手的例子。建議學習程度到了 《利用 Python 進行數據分析》 這一步,再去涉及相關實例。
推薦閱讀: