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連線
- 配置IBM SPSS Modeler:
在IBM SPSS Modeler中,在選單欄的工具–>選項–>幫助應用程式,選擇Microsoft面板,如下圖:
勾上之後,會在下面的面板節點上多了一項資料庫建模,列出了Microsoft Analysis Services支援的資料庫內建模演算法,如下圖:
- 配置 SQL Server
該配置可實現在資料庫內進行評分。
在 SQL Server 主機上建立以下注冊表鍵:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\MSOLAP
為該鍵新增如下 DWORD 鍵值:
AllowInProcess 1
完成上述更改後,重新啟動SQL Server。
- 配置Microsoft Analysis Services
建立IBM SPSS Modeler 與Microsoft Analysis Services 進行通訊。
通過MS SQL Server Management Studio 登入到分析伺服器。
訪問“屬性”對話方塊,右鍵單擊伺服器名稱,然後選擇屬性。
選中顯示高階(所有)屬性複選框。
更改以下屬性:
將 DataMining\AllowAdHocOpenRowsetQueries 的值更改為 True(預設值為False)。
將 DataMining\AllowProvidersInOpenRowset 的值更改為 [all] (無預設值)。
- 為SQL Server 建立 ODBC DSN
通過使用 Microsoft SQL Native Client ODBC 驅動程式,建立一個指向資料探勘過程中使用的 SQL Server 資料庫的 ODBC DSN。餘下的驅動程式設定應使用預設設定。
對於此DSN,請確保選中了使用整合的 Windows 認證。
- 啟用 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決策樹是使用線性迴歸來確定決策樹分割位置,它可以用於分類屬性和連續屬性的預測建模。那麼到底選擇什麼演算法為優呢,前面已經介紹了,使用資料庫內建模的好處,大家可以綜合考慮,結合實際場景和資料預測結果的評估再做選擇。