《Python數據分析與挖掘實戰》讀書筆記

大體掃了一遍,具體的代碼基本都沒看了,畢竟我還不懂python,而且在手機端的排版,這些代碼無法看。

有收穫,至少了解到如下幾點:
1、 Python的語法挺有意思的
    有一些相似於JavaScript這種動態語言的特性在裏面,好比多值賦值、好比Lambda表達式等,有機會能夠找本python的入門書籍來看看,下面是2017年6月的最新語言排行版,能夠看到,傳統語言一直在衰退好比c、c#、Java、c++、php、perl等,而一些適應互聯網發展的新興語言一直在增加,好比Python、JavaScript、go語言等。
 
2、Python之因此可以成爲數據分析與挖掘領域的最佳語言,是有其獨特的優點的。
    由於他有不少這個領域相關的庫能夠用,並且很好用,好比Numpy、SciPy、Matploglib、Pandas、ScikitLearn、Keras、Gensim等,下面簡單介紹下:
    1)Numpy,它給Python提供了真正的數組功能,包括多維數組,以及對數據進行快速處理的函數,Numpy仍是更多高級擴展庫的依賴庫,好比後續的Scipy、Matplotlib、Pandas等,都同樣;
    2)Scipy,他讓Python成了半個MATLAB,Scipy提供了真正的矩陣類型,及其大量基於矩陣運算的對象和函數,他包括的功能包括最優化、線性代數、積分、插值、你和、特殊函數、快速傅里葉變換、信號處理與圖像處理、常微分求解方程和其餘科學與工程中經常使用的計算;Scipy依賴於Numpy;
    3)Matplotlib,對於Python來講,Matplotlib是最著名的繪圖庫,主要是二維繪圖,固然,也能夠支持一些簡答的三圍繪圖;
    4)Pandas,他是Python下最強大的數據分析和探索工具,沒有之一。他包含的高級的數據結構和精巧的工具,使得在Python中處理數據很是快速和簡單,Pandas構建在NumPy之上,他使得以Numpy爲中心的應用很容易使用,Pandas的名稱來自於面板數據(Panel Data)和Python數據分析(Data Analysis),他最初被做爲金融數據分析工具而開發出來,由AQR Capital Management公司於2008年4月開發出來,並與2009年末開源;
    他的功能很是強大,支持相似於SQL的數據增刪改查,而且帶有豐富的數據處理函數,支持時間序列分析,支持靈活處理確實數據等。Pandas其實很複雜, 夠單獨寫一本書,若是對他有興趣能夠看看Pandas主要做者之一 WesMcKinney寫的《利用Python進行數據分析》一書。
    5)StatModels,Pandas着眼於數據的讀取、處理和探索,而StatsModels則更加註重數據的統計建模和分析,他使得Python有了R語言的味道。StatModels支持與Pandas的數據交互,所以,他與Pandas結合,成爲了Python下強大的數據挖掘組合;
    6)Scikit-Learn,這是一個和機器學習有關的庫,他是Python下強大的及其學習工具包,他提供了完善的及其學習工具箱,包括:數據預處理、分類、迴歸、聚類、預測和模型分析等。他依賴於NumPy、SciPy、Matplotlib等;
    7)Keras,他是用來搭建神經網絡的,他並不是簡單的神經網絡庫,而是一個基於Theano的強大的深度學習庫,利用它不只僅能夠搭建普通的神經網絡,還能夠搭建各類深度學習模型,如自編碼器、循環神經網絡、遞歸神經網絡、卷積神經網絡等。因爲它是基於Theano的,速度至關快。
    8)Theano,他也是一個Python庫,他是由深度學習專家YoshuaBengio帶領的實驗室開發出來的,用來定義、優化和高效地解決多維數組對應數學表達式的模擬估計問題。他具備高效地實現符號分解、高度優化的速度、和穩定性等特色,最重要的是還實現了GPU加速,是的密集型數據的處理速度是CPU的十倍;
    9)Gensim,topic modelling of humans,他主要用來處理語言方面的任務,如文本類似度計算、LDA、Word2Vec等,這些領域的任務每每須要比較多的背景知識,一般的狀況是:研究這方面的讀者已經不須要我再多說什麼,而不研究這方面的讀者,在這裏也說不清楚。

3、之前學習的一些高等數學的知識要複習下
    要作好數據分析和挖掘,必定要掌握相關的數據工具,不須要本身去實現相關的算法,關鍵是要懂得每種算法的原理,知道每種算法客戶解決什麼類型的問題,在遇到相關問題有思路。
    須要複習的有高等數學、線性代數、機率論與數理統計、離散數學。
相關文章
相關標籤/搜索