1. 程式人生 > >IBM SPSS Modeler資料庫內建模

IBM SPSS Modeler資料庫內建模

IBM SPSS Modeler Server支援對資料庫供應商的資料探勘工具和建模工具進行整合,其中包括IBM Netezza、IBM DB2 InfoSphere Warehouse、Oracle Data Miner和Microsoft Analysis Services。實現了在IBM SPSS Modeler的分析功能和易用性將與資料庫的功能和效能相結合,同時還兼備資料庫供應商提供的資料庫自有演算法。模型在資料庫建立,然後可以藉助IBM SPSS Modeler介面以正常方式瀏覽模型併為之評分。

那麼使用IBM SPSS Modeler訪問資料庫自有演算法有什麼優勢呢?主要是兩方面:

1.資料庫內的演算法常常與資料庫伺服器緊密整合,這有助於提高效能。

2.在“資料庫內”構建和儲存的模型不僅由可訪問資料庫的應用程式共享,且更易於在這些應用程式中部署。

接下來我們以Microsoft Analytics Services為例,介紹如何配置以及使用資料庫內建模功能。

IBM SPSS Modeler支援整合下列Analysis Services演算法包括:

決策樹
聚類
關聯規則
樸素貝葉斯
線性迴歸
神經網路
Logistic迴歸
時間序列
序列聚類
安裝與配置:

在您的機器上,必須安裝以下模組:

IBM SPSS Modeler Client
IBM SPSS Modeler Server
Microsoft Analysis Services,與相應資料庫建立ODBC連線

  1. 配置IBM SPSS Modeler:

在IBM SPSS Modeler中,在選單欄的工具–>選項–>幫助應用程式,選擇Microsoft面板,如下圖:
在這裡插入圖片描述

勾上之後,會在下面的面板節點上多了一項資料庫建模,列出了Microsoft Analysis Services支援的資料庫內建模演算法,如下圖:
在這裡插入圖片描述

  1. 配置 SQL Server

該配置可實現在資料庫內進行評分。

在 SQL Server 主機上建立以下注冊表鍵:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\MSOLAP

為該鍵新增如下 DWORD 鍵值:

AllowInProcess 1

完成上述更改後,重新啟動SQL Server。

  1. 配置Microsoft Analysis Services

建立IBM SPSS Modeler 與Microsoft Analysis Services 進行通訊。

通過MS SQL Server Management Studio 登入到分析伺服器。

訪問“屬性”對話方塊,右鍵單擊伺服器名稱,然後選擇屬性。

選中顯示高階(所有)屬性複選框。

更改以下屬性:

將 DataMining\AllowAdHocOpenRowsetQueries 的值更改為 True(預設值為False)。

將 DataMining\AllowProvidersInOpenRowset 的值更改為 [all] (無預設值)。

  1. 為SQL Server 建立 ODBC DSN

通過使用 Microsoft SQL Native Client ODBC 驅動程式,建立一個指向資料探勘過程中使用的 SQL Server 資料庫的 ODBC DSN。餘下的驅動程式設定應使用預設設定。

對於此DSN,請確保選中了使用整合的 Windows 認證。

  1. 啟用 SQL 生成和優化

從IBM SPSS Modeler選單中選擇:工具—>流屬性—>選項—>優化面板,勾選上所有選項內容如下圖:
在這裡插入圖片描述

使用Microsoft Analysis Services 演算法生成模型

以上內容配置完成後,即可使用資料庫內的演算法生成模型。如下圖:
在這裡插入圖片描述

源節點從SQL Server資料庫中讀取,終端節點又寫回到SQL Server資料庫中,中間使用的是Microsoft的決策樹演算法,整個計算過程都在資料庫中實現。

介紹到這裡,我們就瞭解了,如何使用資料庫內演算法進行建模的過程,經常會有朋友問說,使用這裡的決策樹演算法和使用IBM SPSS Modeler封裝好的決策樹演算法,結果會有什麼不同?預測結果當然是會有差異的了。本身決策樹演算法就包含多種,像C&R、CHAID、C5.0、QUEST等,每個演算法計算邏輯就不一樣,因此計算得到的結果自然也不一樣,前面我們已經介紹過C&R、CHAID、C5.0這三種演算法,他們核心的差異就是選擇最佳分組變數和分割點的標準,而Microsoft Analysis Services決策樹是使用線性迴歸來確定決策樹分割位置,它可以用於分類屬性和連續屬性的預測建模。那麼到底選擇什麼演算法為優呢,前面已經介紹了,使用資料庫內建模的好處,大家可以綜合考慮,結合實際場景和資料預測結果的評估再做選擇。