SQL Server 2008中的9種資料探勘演算法

iSQlServer發表於2010-03-25

1.決策樹演算法

決策樹,又稱判定樹,是一種類似二叉樹或多叉樹的樹結構。決策樹是用樣本的屬性作為結點,用屬性的取值作為分支,也就是類似流程圖的過程,其中每個內部節點表示在一個屬性上的測試,每個分支代表一個測試輸出,而每個樹葉節點代表類或類分佈。它對大量樣本的屬性進行分析和歸納。根結點是所有樣本中資訊量最大的屬性,中間結點是以該結點為根的子樹所包含的樣本子集中資訊量最大的屬性,決策樹的葉結點是樣本的類別值。

從樹的根結點出發,將測試條件用於檢驗記錄,根據測試結果選擇適當的分支,沿著該分支或者達到另一個內部結點,使用新的測試條件或者達到一個葉結點,葉結點的類稱號就被賦值給該檢驗記錄。決策樹的每個分支要麼是一個新的決策節點,要麼是樹的結尾,稱為葉子。在沿著決策樹從上到下遍歷的過程中,在每個節點都會遇到一個問題,對每個節點上問題的不同回答導致不同的分支,最後會到達一個葉子節點。這個過程就是利用決策樹進行分類的過程。決策樹演算法能從一個或多個的預測變數中,針對類別因變數,預測出個例的趨勢變化關係。

在SQL Server 2008中,我們可以通過挖掘模型檢視器來檢視決策樹模型。

在圖1中,我們可以看到決策樹顯示由一系列拆分組成,最重要的拆分由演算法確定,位於“全部”節點中檢視器的左側。其他拆分出現在右側。依賴關係網路顯示了模型中的輸入屬性和可預測屬性之間的依賴關係。並能通過滑塊來篩選依賴關係強度。

2.聚類分析演算法

聚類分析演算法就是衡量個體間的相似度,是依據個體的資料點在幾何空間的距離來判斷的,距離越近,就越相似,就越容易歸為一類。在最初定義分類後,演算法將通過計算確定分類表示點分組情況的適合程度,然後嘗試重新定義這些分組以建立可以更好地表示資料的分類。該演算法將迴圈執行此過程,直到它不能再通過重新定義分類來改進結果為止。簡單得說,聚類就是將資料物件的集合分組成為由類似的物件組成的多個類的過程。聚類用在商務方面的客戶分析中,可以從客戶庫中發現不同的客戶群,並分析不同客戶群的行為模式。

在SQL Server 2008中,我們可以通過挖掘模型檢視器來檢視聚類分析模型。在圖2中,分類關係圖表現個類間關聯性的強弱。分類剖面圖瞭解因變數與自變數的關聯性強弱程度。分類特徵主要呈現每一類的特性。分類對比主要呈現出兩類間特性的比較。

3.Naive Bayes 演算法

Naive Bayes 演算法是 Microsoft SQL Server Analysis Services 提供的一種分類演算法,用於預測性建模。Naive Bayes演算法使用貝葉斯定理,假定一個屬性值對給定類的影響獨立於其他屬性的值。與其他演算法相比,該演算法所需的運算量小,因而能夠快速生成挖掘模型,以發現輸入列和可預測列之間的關係。可以使用該演算法進行初始資料探測,在用於大型資料庫時,該演算法也表現出了高準確率與高速度,能與決策樹和神經網路相媲美。

演算法採用監督式的學習方式,在分類之前,需要事先知道分類的型別。通過對訓練樣本的學習,來有效得進行分類。就是通過訓練樣本中的屬性關係,產生訓練樣本的中心概念,用這些已經產生的中心概念,對未分類的資料物件進行預測。

在SQL Server 2008中,我們可以通過挖掘模型檢視器來檢視Naive Bayes模型。

在圖3中,依賴關係網路可以對資料的分佈進一步瞭解。屬性配置檔案可以瞭解每個變數的特性分佈情況。屬性特徵可以看出不同群分類的基本特性概率。屬性對比就是呈現屬性之間的特性對比。

4.關聯規則演算法

關聯演算法規則是要發現資料庫中變數和個體之間關係程度,也就是要發現大量資料中項集之間有趣的關聯或相關聯絡。例如,在關聯規則挖掘中,典型的例子就是購物籃分析,該分析過程就是通過分析顧客所購買的不同商品之間的聯絡,來挖掘顧客的購買習慣,並幫助銷售商制定營銷策略。關聯規則演算法中有兩個重要的引數支援度和置信度。支援度就是指X項集和Y項集中,同時發生X,Y事件的概率。置信度就是指X項集和Y項集中,X事件發生的概率下,Y事件發生的概率。

在SQL Server 2008中,我們可以通過挖掘模型檢視器來檢視關聯規則模型。

在圖4中,規則可以檢視演算法中產生的關聯規則,我們可以通過此來了解關聯規則內容以及其支援度和置信度。項集可以檢視演算法中產生的物件組,我們可以通過此來了解各個物件組內容及其支援。依賴關係網路可以呈現產品間的相關性,並通過圖形瞭解產品間的相關性。

5.順序分析和聚類分析演算法

順序分析和聚類分析演算法是由 Microsoft SQL Server Analysis Services 提供的一種順序分析演算法。可以使用該演算法來研究包含可通過下面的路徑或順序連結到的事件的資料。該演算法通過對相同的順序進行分組或分類來查詢最常見的順序。

在SQL Server 2008中,我們可以通過挖掘模型檢視器來檢視順序分析模型。如圖5所示

圖5中分類關係圖可以顯示挖掘模型中的所有分類,分類之間連線的明暗程度表示分類的相似程度。通過調整分類右側的滑塊,可以調整顯示的連線數。分類剖面圖提供演算法建立的分類的總體檢視,顯示了分類中的每個屬性以及屬性的分佈。分類特徵可以檢查分類的組成特徵。分類對比可以比較兩個分類的屬性。狀態轉換可以在選中一個分類後,可在選中的分類中瀏覽序列狀態之間的轉換。

6.時序演算法

時序演算法提供了一些針對連續值預測進行了優化的迴歸演算法,並將時間序列分解成主要趨勢成分,季節變化成分,並檢驗理論模型是否能反應現象。

在SQL Server 2008中,我們可以通過挖掘模型檢視器來檢視時序模型。

在圖6中,圖表欄顯示預測變數個產品過去值以及預測值,以及誤差區間。模型將演算法以完成的模型顯示為樹。

7.神經網路演算法

神經網路是一組連線的輸入輸出單元,其中每一個連線都與一個權相連線。在訓練學習階段,通過調整訓練網路的權,使得能夠預測輸入樣本的正確類標號。神經網路演算法建立由多至三層神經元組成的網路。這些層分別是輸入層、可選隱藏層和輸出層。輸入層:輸入神經元定義資料探勘模型的所有輸入屬性值及其概率。隱藏神經元接收來自輸入神經元的輸入,並向輸出神經元提供輸出。隱藏層是向各種輸入概率分配權重的位置。權重說明某一特定輸入對於隱藏神經元的相關性或重要性。輸入所分配的權重越大,則輸入的值越重要。輸出神經元代表資料探勘模型的可預測屬性值。

在SQL Server 2008中,我們可以通過挖掘模型檢視器來檢視神經網路模型。

在圖7中,輸入選擇神經網路模型將用作輸入的屬性和屬性值。輸出指定使用輸出的神經網路的屬性。變數指定屬性右側的條表示指定輸入屬性狀態所傾向的輸出屬性狀態。 條的大小則表示輸出狀態傾向於輸入狀態的程度。

8.邏輯迴歸演算法

邏輯迴歸是根據輸入域值對記錄進行分類的統計方法,通過建立一組方程,把輸入域值與輸出欄位每一類的概率聯絡起來。模型在分析二分類或有序因變數與解釋變數的關係,用自變數去預測因變數在給定某個值的概率。一旦生成模型,便可用於估計新的資料的概率。概率最大的目標類被指定為該記錄的預測輸出值。邏輯迴歸演算法是神經網路演算法的一種變體,用於確定多個因素對一對結果的影響。通過對輸入和輸出之間的關係進行建模。來測量每個輸入對輸出的影響,並權衡不同輸入在完成的模型中的作用。

9.線性迴歸演算法

線形迴歸演算法是一種常用的用於統計並作出預測的方法,使決策樹演算法的一種變體,有助於計算依賴變數和獨立變數之間的線性關係,根據輸入欄位估計預測輸出欄位的最佳線形方程,然後使用該關係進行預測。使用線性迴歸確定兩個連續列之間的關係,代表一條直線或者平面,以評估資料列之間的關係。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-630406/,如需轉載,請註明出處,否則將追究法律責任。

相關文章