當今常用的數據挖掘建模工具包括SAS Enterprise Miner、IBM SPSS Modeler、SQL Server(Analysis Server)、Python、WEKA、KNIME、RapidMiner和TipDM。其中Python作為目前最炙手可熱的編程語言,將C++斬于馬下,躍居世界編程語言排行榜第三名。數據挖掘工程師如果連Python數據挖掘的工具及使用都不清楚的話,那就真的Out了!
Python(Matrix Laboratory,矩陣實驗室)是美國Mathworks公司開發的應用軟件,具備強大的科學及工程計算能力,它不但具有以矩陣計算為基礎的強大數學計算能力和分析功能,而且還具有豐富的可視化圖形表現功能和方便的程序設計能力。python并不提供一個專門的數據挖掘環境,但它提供非常多的相關算法的實現函數,是學習和開發數據挖掘算法的很好選擇。
今天我們就來講述一下Python大數據挖掘分析的工具:
一、Numpy工具
Python并沒有提供數組功能。雖然列表可以完成基本的數組功能,但它不是真正的數組,而且在數據量較大時,使用列表的速度就會慢得讓人難以接受。為此,Numpy提供了真正的數組功能,以及對數據進行快速處理的函數。Numpy還是很多更高級的擴展庫的依賴庫,Scipy、Matplotlib、Pandas等庫都依賴于它。值得強調的是,Numpy內置函數處理數據的速度是C語言級別的,因此在編寫程序的時候,應當盡量使用它們內置的函數,避免出現效率瓶頸的現象(尤其是涉及循環的問題)。
linux安裝命令:
pip install numpy pip -i https://pypi.douban.com/simple
二、Scipy工具
Numpy提供了多維數組功能,但它只是一般的數組,并不是矩陣。例如,當兩個數組相乘時,只是對應元素相乘,而不是矩陣乘法。Scipy提供了真正的矩陣,以及大量基于矩陣運算的對象與函數。Scipy包含的功能有最優化、線性代數、積分、插值、擬合、特殊函數、快速傅里葉變換、信號處理和圖像處理、常微分方程求解和其他科學與工程中常用的計算,顯然,這些功能都是挖掘與建模必備的。Scipy依賴于Numpy,因此安裝它之前得先安裝Numpy。
linux安裝命令:
pip install scipy pip -i https://pypi.douban.com/simple
三、MatPlotlib工具
不論是數據挖掘還是數學建模,都免不了數據可視化的問題。對于Python來說,Matplotlib是最著名的繪圖庫,它主要用于二維繪圖,當然它也可以進行簡單的三維繪圖。它不但提供了一整套和Matlab相似但更為豐富的命令,讓我們可以非常快捷地用Python可視化數據,而且允許輸出達到出版質量的多種圖像格式。
linux安裝命令:
pip install matplotlib pip -i https://pypi.douban.com/simple
四、Pandas工具
Pandas是Python下最強大的數據分析和探索工具。它包含高級的數據結構和精巧的工具,使得在Python中處理數據非常快速和簡單。Pandas構建在Numpy之上,它使得以NumPy為中心的應用很容易使用。Pandas的名稱來自于面板數據(Panel Data)和Python數據分析(Data Analysis),它最初被作為金融數據分析工具而開發出來,由AQR Capital Management公司于2008年4月開發出來,并于2009年底開源。Pandas的功能非常強大,支持類似于SQL的數據增、刪、查、改,并且帶有豐富的數據處理函數;支持時間序列分析功能;支持靈活處理缺失數據等。
Pandas基本的數據結構是Series和Data Frame,Series就是序列,類似一維數組;Data Frame則是相當于一張二維的表格,類似二維數組,它的每一列都是一個Series。為了定位Series中的元素,Pandas提供了Index對象,每個Series都會帶有一個對應的Index,用來標記不同的元素,Index的內容不一定是數字,也可以是字母、中文等,它類似于SQL中的主鍵。類似地,Data Frame相當于多個帶有同樣Index的Series的組合(本質是Series的容器),每個Seiries都帶有唯一的表頭,用來標識不同的series。
linux安裝命令:
pip install pandas pip -i https://pypi.douban.com/simple
pip install xlrd pip -i https://pypi.douban.com/simple # 讀取excel
pip install xlwt pip -i https://pypi.douban.com/simple # 寫入excel
五、StatsModels工具
pandas著眼于數據的讀取、處理和探索,而StatsModels則更加注重數據的統計建模分析,它使得python有了R語言的味道。StatsModels支持與Pandas進行數據交互,因此,它與Pandas結合,成為了Python下強大的數據挖掘組合。
linux安裝命令:
pip install statsmodels pip -i https://pypi.douban.com/simple
六、Keras工具
Keras庫搭建神經網絡,是基于Theano的強大的深度學習庫,利用它不僅僅可以搭建普通的神經網絡,還可以搭建各種深度學習模型,如自編碼器、循環神經網絡、遞歸神經網絡、卷積神經網絡等。由于它是基于Theano的,因此速度也相當快。
Theano也是Python的一個庫,用來定義、優化和高效地解決多維數組數據對應數學表達式的模擬估計問題。它具有高效地實現符號分解、高度優化的速度和穩定性等特點,最重要的是它還實現了GPU加速,使得密集型數據的處理速度是CPU的數十倍。
Linux執行keras快于Windows,工作中建議使用Linux執行keras。
linux安裝命令:
pip install theano keras pip -i https://pypi.douban.com/simple
pip install --ignore-installed tensorflow keras pip -i https://pypi.douban.com/simple
如讀者希望在windows環境中搭建Keras可參考下面的安裝方法:
1.安裝Anaconda3-2019.10-Windows-x86_64.exe
可在https://www.anaconda.com/distribution/下載
2.配置path安裝路徑(假設安裝在C:Anaconda3)
C:Anaconda3condabin
3.安裝mingw,執行下面3個命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
conda install mingw libpython
4.配置path安裝路徑
C:Anaconda3MinGWin
C:Anaconda3MinGWx86_64-w64-mingw32lib
5.pip install theano keras pip -i https://pypi.douban.com/simple
如果pip命令無法使用配置path路徑指向Python安裝目錄的Scripts路徑
6.lindux支持tensorflow,windows支持theano,更改keras默認后臺為theano
修改當前用戶下的C:UsersAdministrator.keraskeras.json,將tensorflow改成theano
如果找不到該文件在cmd命令中執行
python
import keras
提示不支持tensorflow,此時會創建出keras.json
或直接使用課件中給出的.keras目錄賦值到當前用戶目錄下
7.再次在cmd命令中執行
python
import keras
看到Using Theano backend則安裝成功
好了,今天的Python大數據挖掘分析的工具就介紹到這里,希望對今后從事Phthon大數據挖掘分析工作的小伙伴有一定的幫助!