數據建模.png
數據挖掘的基本任務:利用分類與預測、聚類分析、關聯規則、時序模式、偏差檢測、智能推薦等方法,幫助企業提取數據中蘊含的商業價值,提高企業競爭力。
數據探索:異常值分析、缺失值分析、相關分析和周期性分析。
數據預處理:數據篩選、數據變量轉換、缺失值處理、壞數據處理、數據標準化、主成分分析、屬性選擇、數據規約等。
預測建模:參數設置、交叉驗證、模型訓練、模型驗證、模型預測
常用的數據挖掘建模工具:
1.SAS Enterprise Miner 、2.IBM SPSS Modeler 、3.SQL Server 、4.python、5.WEKA、
6.KNIME、7.RapidMiner、8.TipDM
python數據分析工具.png
數據分析工具:
Numpy
python并沒有提供數組功能。雖然列表可以完成基本的數組功能,但它不是真正的數組,而且在數據量較大時,使用列表的速度就會慢的讓人難以接受。為此,Numpy提供了真正的數組功能,以及對數據進行快速處理的函數,Numpy還有很多更高級的擴展庫的依賴庫,Scipy、Matplotlib、Pandas都依賴于它。
Scipy
如果說Numpy讓python有了Matlab的味道,那么Scipy就讓python真正的成為了半個Matlab了。Numpy提供了多維數組功能,但它只是一般的數組,并不是矩陣。例如,當兩個數組相乘時,只是對應元素相乘,而不是矩陣乘法。Scipy提供了真正的矩陣,以及大量基于矩陣運算的對象與函數。
Scipy包含的功能有最優化、線性代數、積分、插值、擬合、特殊函數、快速傅里葉變換、信號處理和圖像處理、常微積分方程求解和其他科學與工程中常用的計算,顯然,這些功能都是挖掘與建模必備的。
Matplotlib
不論是數據挖掘還是數據建模,都免不了數據可視化的問題。對于python來說Matplotlib是最著名的繪圖庫,它主要用于二維繪圖,當然它也可以進行簡單的三維繪圖。它不但提供了一整套和Matlab相似但更為豐富的命令,讓我們可以非常快捷的用python可視化數據,而且允許輸出達到出版質量的多種圖像格式。
作圖前通常要加載以下代碼:
import matplotlib.pyplot as plt導入庫
plt.rcParams['font.sans-serif'] = ['SimHei']用來正常顯示中文標簽
plt.rcParams['axes.unicode_minus'] = False 用來正常顯示負號
plt.figure(figsize = (7,5)創建圖像區域,指定比例
plt.show()顯示作圖結果
Pandas
Pandas是python下最強大的數據分析和探索工具。它包含高級的數據結構和精巧的工具,使得在python中處理數據非常快速簡單。Pandas建立在Numpy之上,它使得以Numpy為中心的應用很容易使用。Pandas的功能非常強大,支持類似于SQL的數據增刪查改,并且帶有豐富的數據處理函數;支持時間序列分析功能;支持靈活處理缺失數據等。
StatsModels
Pandas著眼于數據的讀取、處理和探索,而StatsModels則更加注重數據的統計建模分析,它使得python有了R語言的味道。StatsModels支持與Pandas進行數據交互,因此,它與Pandas結合,成了python下強大的數據挖掘組合。
Scikit-Learn
1.所有模型提供的接口有:
model.fit():訓練模型,對于監督模型來說是fit(X,y),對于非監督學習是fit(X)
2.監督模型提供的接口:
model.predict(X_new):預測新樣本
model.predict_proba(X_new):預測概率,僅對某些模型有用(比如LR)
model.score():得分越高,fit越好
3.非監督模型提供的接口:
model.transfrom():從數據中學的新的“基空間”
model.fit_transfrom():從數據中學的新的基并將這個數據按照這組“基”進行轉換
Scikit-Learn本身提供了一些實例數據,比較常見的有安德森鳶尾花卉數據集、手寫圖像數據集等。我們有一百五十個鳶尾花的一些尺寸的觀測值:萼片長度、寬度,花瓣長度和寬度。還有他們的亞屬:山鳶尾(Iris setosa)、變色鳶尾(Iris versicolor)和維吉尼亞鳶尾(Iris virginica)
keras
Keras 并非簡單的神經網絡庫,而是一個基于Theano的強大的深度學習庫,利用它不僅僅可以搭建簡單的神經網絡,還可以搭建各種深度學習模型,如自編碼器、循環神經網絡、遞歸神經網絡、卷積神經網絡等。由于它是基于Theano的,因此速度也相當快。
必要介紹一下Theano,它也是python的一個庫,它是由深度學習專家開發出來的,用來定義,優化和高效地解決多維數組數據對應數學表達式的模擬估計問題。它具有高效的實現符號分解、高度優化的速度和穩定性等特點,最重要的是它還實現了GPU加速,使得密集型數據的處理速度是CPU的數十倍。
用Theano就可以搭建起高效的神經網絡模型,但是對于普通讀者來說門檻還是相當高的,Keras正是為此而生,它大大的簡化了搭建各種神經網絡模型的步驟,允許普通用戶輕松的搭建并求解具有幾百個輸入節點的深層神經網絡,而且定制的自由度非常大。
Gensim
Gensim是用來處理語言方面的任務,如文本相似度計算、LDA、Word2Vec等,這些領域的任務往往需要比較多的背景知識
數據探索
根據觀測、調差收集到初步的樣本數據集后,接下來要考慮的問題是:樣本數據集的數量和質量是否滿足模型構建的要求?是否出現從未設想過的數據狀態?其中有沒有什么明顯的規律和趨勢?各因素之間有什么的關聯性?
通過檢驗數據集的質量、繪制圖表、計算某些特征量等手段,對樣本數據集的結構和規律進行分析的過程就是數據探索。數據探索有助于選擇合適的數據預處理和建模方法。甚至可以完成一些通常由數據挖掘解決的問題。
數據探索.png