1. 程式人生 > >IBM SPSS Modeler 【6】 建立決策樹

IBM SPSS Modeler 【6】 建立決策樹

SPSS 資料探勘方法概述——關聯、決策樹

本實驗是基於關聯和決策樹在資料探勘中的應用。通過該實驗,能夠客觀實際地理解關聯分析和決策樹的相關知識。

首先進行的是關聯分析,之後利用關聯分析的資料建立一個決策樹。

2、建立決策樹

在該部分的試驗中,需要將注意力轉移到顧客身上,即分析哪些顧客是“健康食品購買者”——同時購買 fruitveg 和 fish

(1)如何標誌健康食品購買者。點選“欄位選項”選項卡下的“匯出”增加一個屬性

Healthy)來標識健康食品購買者。編輯“匯出”節點,將欄位型別設為“標誌”,並編輯

fruitveg = 'T' and fish='T'”,該公式表示消費者同時購買 

fruitveg 和 fish 這兩種商品,如圖

47

  

圖 47“匯出”節點編輯視窗

(2)檢視增加“Healthy”之後的資料表。利用“表”來檢視資料表,如圖 48,可以看到表中增加了一個“Healthy”欄位,描述是否為健康食品購買者。

圖 48 增加“Healthy”之後的資料表

(3)接入一個“型別”節點。在這裡,需要重新編輯欄位的角色,如圖 49 所示。其中與使用者相關的資訊欄位(除 cardid 外)角色都設定為“輸入”,而“Healthy”變為“輸出”,其他的選擇“無”。

圖 49 “型別”節點編輯視窗

(4)接入 C5.0 決策樹模型。雙擊“建模”選項卡下的“C5.0

”模型,既可以完成新增。如圖 50


圖 50 工作區中的“C5.0”模型

(5)執行決策樹模型。分別執行“決策樹”和“規則集”兩種形式,檢視兩者得到的結果分別如圖 51 和圖 52 所示。兩者都分別有不同的表示方式。圖中顯示哪些型別的顧客是健康食品購買者。


圖 51 用決策樹形式檢視決策樹模型執行結果


圖 52 用規則集形式檢視決策樹模型執行結果

(6)其他屬性的功能,如圖 53。“組符號”是指當有多個欄位在同一個分支時,將這幾個欄位放在一組;“使用 boosting”是指使用部分資料作為再次生成決策樹,最後綜合這些決策樹來提高決策樹的精度;“互動驗證”是指一部分資料用來生成決策樹,一部分作為測試;“簡單”是指生成決策樹的準確度,但是精確度高的決策樹的移植性不高;“專家”下的“修剪嚴重性”是指修剪的程度。


圖 53 其他屬性功能

(7)分析“修剪嚴重性”條件為 時的結果。在圖 54 中可以看出,決策樹有 層(“修剪嚴重性”為 75%的有 層)。由此可以得出結論,“修剪”對精度具有重要的影響。


圖 54 “修剪嚴重性”條件為 時的結果(8)將決策樹模型加入資料流。首先選擇“欄位選項”下的“型別”節點,然後分別雙擊右上側的“tree”和“no-cut”(已重新命名),在這之後,分別新增“分析”節點作為輸出,得到如圖 55 的資料流。


圖 55 工作區中的“分析”節點

(9)分析“修剪嚴重性”為 75%的正確性。執行“tree”下“分析”節點,在圖 56 中可以看出,決策樹分支的正確率為 93.8%


圖 56 分析“修剪嚴重性”為 75%的正確性

(10)分析“修剪嚴重性”為 的正確性。執行“no-cut”下“分析”節點後,得到圖 57,圖中顯示決策樹分支的正確率為 95.1%。由此表明這兩者的正確率差別不是十分大,僅為 1.3%。但是,一般情況下,會選擇簡單的模型作為選擇物件,即“修剪嚴重性”為 75% 的模型。


圖 57 分析“修剪嚴重性”為 的正確性

(11)決策樹的另外一個選項——成本,如圖 58 顯示。此處的成本主要指決策樹將 判為 F,而將 判為 的過程需要成本,同時這個成本一般並不相同,SPSS Modeler 14.2 的這兩個預設值都是 1。在這裡,將 判為 的成本改為 0.3,將 判為 的成本改為 2.0,“修剪嚴重性”設定為 75%,執行該決策樹模型,得到圖 59,共有 層。接下來,將這與原來生成的“tree”模型(判為 的成本為 1.0判為 的成本改為 1.0,“修剪嚴重性”為 75%)進行比較。


如 58 修改“決策樹”模型的成本選項

圖 59 “決策樹”模型執行結果

(12)新增“輸出”選項卡下的“矩陣”節點。將這個模型新增到資料流中,並在此基礎上分別新增“矩陣”節點,如圖 60 所示。


圖 60 工作區的“矩陣”節點(13)分別執行“矩陣”節點,並分析資料。在執行這兩個節點之前,需要將這兩個“矩陣”節點的“行”設為“Healthy”,“列”設為“$C-Healthy”。執行後分別得到圖 61(左: “tree”,右:“2-0.3cost”)的表格。可以看出,決策樹總是朝著成本最低的趨勢生成決策樹。


圖 61 “矩陣”節點執行後結果