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