IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析
本文將通過 SPSS Modeler 介紹決策樹 (Decision tree) 演算法於銀行行銷領域的應用實例。通過使用網路公開電銷資料建立不同決策樹模型,分析、解釋並討論模型結構,您將會了解各種決策樹演算法及其不同之處,針對不同資料特徵選擇合適的決策樹模型。

引言


隨著資訊科技的演進,如何通過方法有效的分析海量數據,並從其中找到有利的規格或資訊已經成為一種趨勢。而決策樹演算法是目前在進行數據分析時很常用的分類方法,本文將使用 IBM SPSS Modeler 進行實作,介紹決策樹 (Decision tree) 演算法於銀行行銷領域的應用實例。IBM SPSS Modeler 包含多種決策樹模型,包括 C5.0、C&R Tree、Quest、CHAID。首先,本文將會簡介決策樹演算法的基本原理,接著會針對案例數據 (網路公開電銷數據) 進行初步的數據分析,並套入決策樹模型中,分析、解釋並討論最後的結果。通過本文,您將會了解各種決策樹演算法及其不同之處,針對不同數據特徵選擇適當決策樹模型。

決策樹演算法 (Decision Tree) 簡介


決策樹演算法的原理


決策樹演算法是在進行數據挖掘時經常使用的分類和預測方法。

一個決策樹的架構,是由三個部分所組成:葉節點 (Leaf Node)、決策節點 (Decision nodes) 以及分支 。決策樹演算法的基本原理為:通過演算法中所規定的分類條件對於整體數據進行分類,產生一個決策節點,並持續依照演算法規則分類,直到數據無法再分類為止。

決策樹演算法的比較


決策樹演算法依據其演算原理以及可適用分析數據類型的不同延伸出多種決策樹演算法。在 IBM SPSS Modeler 中,主要提供了四種常用的決策樹演算法供使用者選擇,分別為:C5.0、CHAID、QUEST 以及 C&R Tree 四種。使用者可依據數據類型以及分析需求的不同,選擇適當的決策樹演算法進行分析。雖然不同的決策樹演算法有各自適用的數據類型以及演算架構等差異,但概括來說,決策樹的主要原理均為通過演算法所定義的規則,對數據進行分類,以建立決策樹。鑒於篇幅所限,以下部分將會針對這四類決策樹演算法進行簡單的介紹和比較,而詳細演算法原理將不會在本文中詳述。

1. C5.0


由 C4.5 演化而來。此演算法的分類原理主要是利用資訊衡量標準 (Information Measure) 來構建決策樹,並對每一個節點產生不同數目的分支來分割數據,直到數據無法分割為止。C5.0 的目標字段 (Target) 測量級別,不適用於連續類型 (Continuous) 的測量級別。而輸入字段的數據型態則適用連續類型 (Continuous) 的測量級別。

2. CHAID (Chi-Square Automatic Interaction Detector)


此演算法和前述的 C5.0 概念很像,均可以在每一個節點產生不同數目的分支來分割數據,用來建立決策樹。但是在背後分類的原理則利用卡方分析檢定 (Chi-square F test) 來進行分支,通過卡方檢定來計算節點中的 P-value,來決定數據是否仍須進行分支。另外,CHAID 的目標字段 (Target) 的測量級別可適用於連續類型 (Continuous) 的測量級別,但在輸入字段則只適用分類類型 (Categorical) 的測量級別。

3. QUEST (Quick Unbiased Efficient Statistical Tree)


此演算法是利用統計方法分割數據,即以判定決策樹是否仍需進行分支,以建立二元的決策樹。QUEST 在變數的數據型態限制上,跟 C5.0 一樣,目標字段 (Target) 測量級別,不適用於連續類型 (Continuous) 的測量級別。但在輸入字段的測量級別則適用連續類型 (Continuous) 的測量級別。

4. C&R Tree (Classification and Regression Tree)


又稱為 CART,構建決策樹的原理是使用 Gini Ratio 作為判定決策樹是否仍須進行分支的依據,並建立二元的決策樹。此演算法不管是在目標變數 (Target) 以及輸入字段的測量級別均適用連續類型 (Continuous) 的測量級別做分析。

決策樹演算法的選擇


在使用決策樹演算法進行分析之前,首要工作就是選擇適當的演算法。一般來說,會根據所要分析數據的特性以及數據型態等選擇初步的演算法。接下來再通過比較初步篩選的決策樹分析出來的結果,選擇最適合的決策樹演算法。

銀行電話行銷數據欄位和特徵分析


這次分析使用的數據是識別化的葡萄牙銀行電銷數據。電銷的產品是銀行的定存。電銷的數據包括:

1、客戶的基本數據:年齡、工作、教育等

2、客戶的業務相關數據:是否破產、餘額、房貸、個人信貸等

3、電銷數據:連絡方式、連絡日期、次數、談話時間,以及關鍵的電銷結果

一般來說,業務相關數據及電銷數據對我們預測相當重要,而客戶的基本數據有時候並不重要,例如性別。但在此,年齡、工作、教育對一個人的收入等級連帶的定存意願可能有關聯,所以進一步的分析是必要的。(請看圖 1)

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 1. 銀行電銷數據概觀

在模型建置前,首先要了解數據的組成。通過 Data Audit Node 中簡單的圖表及統計數據 (如圖 2 所示),我們可以察覺數據的異常、極端值。以年齡欄位為例,我們可以通過最大、最小及平均值,來觀察有無異常分布。年齡 18~95 歲及平均 40 歲屬於正常分布,所以不需要做特殊處理。其它欄位可以通過同樣方式檢視,以增加對客戶數據的了解。

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 2. 銀行電銷數據概觀 2 – Data Audit Node

接下來我們選擇幾個代表性的欄位來分析電銷結果在數據欄位間的分布。以客戶職業為例,由圖 3 可發現,學生、退休人員,及公司主管對定存產品的接受度較高。同時,我們也意外發現,失業者的定存接受度也相當高。而這些發現仍需再進一步的研究,才可解釋其原因。但在此,將不多作探討。

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 3. 銀行客戶職業與定存產品接受度之圖表

以年齡的分布來說,超過 60 歲的客戶普遍對定存產品的接受度較高 (圖 4),因此,可以做為打電話的參考依據。然而,以單一面相來決定結果並非最理想,我們仍需要找尋跟其它欄位的關聯性。

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 4. 銀行客戶年齡與定存產品接受度之圖表

其它欄位的分析


此小節我們將簡單的對其它欄位作分析。在業務數據上,許多欄位是連續類型的測量級別(Continuous),通過直方圖,我們可以發現,打電話的時間、月份、客戶接電話的次數都會影響結果。這些欄位都是建立預測模型的重要參考依據。Modeler 也提供了網狀圖讓我們了解欄位間的關聯。例如由打電話的月份這個欄位,我們可以通過網狀圖評估月份對成功率的影響。

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 5. 銀行最後一次致電客戶的時間 (秒) 對定存產品接受度之圖表

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 6. 與銀行客戶通話次數對定存產品接受度之圖表

建立決策樹模型串流


讀取數據


SPSS Modeler 中需要根據數據檔案格式,來選擇不同的源節點讀取數據。本篇文章中我們使用的數據檔案格式為 .csv 檔,因此我們將使用可變文件節點。在節點設定方面,文件標籤下我們先讀入數據「bank-full.csv」,接著勾選「讀取文件中的字段名」和使用分號 (;) 做為字段定界符。此外,在多次反覆訓練模型後,根據變量重要性的排序,我們在最後的模型選擇移除相對較不重要的欄位,將會據此篩選出建模所需要的數據欄位:過濾標籤下選取是否破產 (default) 、有無貸款 (loan) 等較無法預測結果的欄位。

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 7. 使用可變文件節點讀取數據

數據類型定義


為了產生決策樹模型,我們需要在數據建模前就定義好各欄位的角色,也就是加入字段選項下的「類型」節點。將類型節點拉入串流後,我們會先點選讀取值按鈕,接著設定角色。在本案例中,欄位 y 是我們最後預測的目標,因此先將其角色設定為「目標」,餘下的欄位則是要設定為「輸入」。

數據分區


為了在訓練出模型後能夠分析模型準確度,在此我們將加入字段選項下的「分區」節點,將數據分為 50%訓練數據以及 50%測試數據。在分區節點的編輯頁中,點選預覽可發現每筆數據已經多出了一個欄位「分區」,欄位中的值被隨機歸類為「1_訓練」及「2_測試」,讓決策樹節點可判別是否要使用此資料做為訓練數據。在完成資料分區後,我們已經完成數據準備 (請見圖 8),可以套用決策樹模型節點了。

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 8. 數據準備

決策樹節點設定


如我們第一章節所述,SPSS Modeler 共提供四種決策樹節點建模,包括 C5.0、C&R 樹、Quest 和 CHAID。考量到數據特性以及我們希望提供的決策樹具有多元分類法,因此我們將建立 C5.0 和 CHAID 兩種分類模型。

C5.0 節點設定


將 C5.0 節點與分區節點連結後,我們將於此節點編輯頁面中的模型標籤下設定相關的變數。以下為各變數的詳細介紹,此定義來自SPSS Modeler 15 Modeling Nodes 文件。

使用分區數據:如果定義了分區字段,則此選項可確保僅訓練分區的數據用於構建模型。

為每個分割構建模型:給指定為分割字段的輸入字段的每個可能值構建一個單獨模型。

輸出類型:在此指定希望結果模型塊是決策樹還是規則集。

組符號:如果選中此選項,C5.0 將試圖組合輸出字段中具有相似樣式的符號值。如果未選中此選項,C5.0 將為用於分割父節點的符號字段的每個值創建一個子節點。

使用 boosting:C5.0 算法有一個特殊的方法用於提高其準確率,稱為 boosting。它的工作原理是在序列中構建多個模型。第一個模型按常規方式進行構建。構建第二個模型時,將焦點集中於由第一個模型誤分類的記錄。構建第三個模型時,將焦點集中於第二個模型的錯誤,依此類推。最後,通過將整個模型集應用到觀測值,並使用加權投票過程將單獨的預測組合為一個總預測來分類觀測值。推進可以顯著提高 C5.0 模型的準確性,但也需要更長的訓練時間。通過試驗次數選項可以控制在推進模型過程中使用的模型數目。

交互驗證:如果選中此選項,C5.0 將使用一組模型(根據訓練數據的子集構建)來可能某個模型(根據全部數據集構建)的準確性。

專家模式- 修剪嚴重性: 確定對決策樹或規則集的修剪程度。增加該值可獲得一個更簡潔的小型樹。減小該值可獲得一個更精確的樹。

專家模式- 每個子分支的最小記錄數:可使用子組的大小限制樹的任何分支中的分割數。僅當兩個或多個生成的子分支中至少包含從訓練集合得到的這一最小記錄數時,才可分割樹的分支。默認值為 2。

根據我們的分析需求,此節點的設定如下:勾選使用分區數據、選擇決策樹輸出類型、專家模式下的修剪嚴重性設定為 80、每個子分支的最小記錄數 15。此設定考量到我們資料量較大,避免過度配適的情形發生。

CHAID 節點設定


將 CHAID 節點與分區節點連結後,我們將於此節點編輯頁面中的模型標籤下設定相關的變數。由於 CHAID 節點設定較多,以下將挑選我們有修改預設值的變數進行詳細介紹。此定義來自「SPSS Modeler 15 Modeling Nodes 文件」。

最大樹深度:指定根節點以下的最大級數(遞歸分割樣本的次數)。

修剪樹以防止過擬合:修剪包括刪除對於樹的精確性沒有顯著貢獻的底層分割。修剪有助於簡化樹,使樹更容易被理解,在某些情況下還可提高廣義性。

停止規則:設置最小分支大小可阻止通過分割創建非常小的子組。如果節點(父)中要分割的記錄數小於指定值,則父分支中的最小記錄數 將阻止進行分割。如果由分割創建的任意分支(子)中的記錄數小於指定值,則 子分支中的最小記錄數 將阻止進行分割。

根據我們的分析需求,此節點的設定如下:最大樹深度選擇自定義 8、勾選修剪樹以防止過度擬合選項、停止規則選擇使用絕對值、父分枝的中的最小記錄數 50、父分枝的中的最小記錄數 15。

生成決策樹模型


決策樹節點設定完成後,點擊主工具列的運行當前流前即可看到兩個決策樹模型的產生。雙擊決策樹模型則可看到模型結果,而我們最主要要觀察的是模型標籤及查看器標籤下的內容。模型標籤內容如圖 9 所示,左欄位使用文字樹狀展開,表現每一階層的分類狀況及目標變數的模式;右欄位則是整體模型預測變量的重要性比較。我們也將會根據變量重要性調整模型設定、變數選擇,持續的訓練出較佳的模型。查看器標籤則是將一樣的決策樹結果用樹狀圖的方式展現。

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 9. 決策樹模型結果

分析結果


在前面的串流產生中,我們加入了分區節點將數據分成訓練數據與測試數據,因此在決策樹模型產生後,可加入分析節點,完成的決策樹串流如圖 10 所示。分析節點中我們勾選重合矩陣選項,因此除了分析節點原本就提供的正確錯誤率比較,可進一步了解實際值與預測值的比較矩陣,如圖 11。分析結果將於下一小節詳述。

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 10. 決策樹串流

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 11. C5.0 決策樹分析結果

評估結果


比較決策樹模型分析結果


正確率


由於各決策樹的演算法不同,最後的分枝結果以及預測的準確性亦不同,本文使用 C5.0 及 CHAID 兩種決策樹節點,其預測正確率如圖 11 和圖 12 所示。從結果來看,不論是訓練以及測試數據,C5.0 的正確率都高於 CHAID,因此接下來我們會使用 C5.0 結果為主。進一步觀察實際值與預測值的重合矩陣,可發現模型預測不購買定存商品的準確性遠高於預測將會購買的準確性,以 C5.0 測試數據來看,no 的預測準確性為 95.9%,遠大於 yes 的 49.1%。

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 12. CHAID 決策樹分析結果

變量重要性


C5.0 與 CHAID 模型的變量重要性如圖 13 所示。比較左邊與右邊的圖可發現,盡管變量重要性的排序兩個模型相差很大,但是最重要的兩個分析變量「duration」和「poutcome」相同,且都比其他變量相對重要許多。

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 13. 變量重要性

解讀預測結果


預測規則


C5.0 決策樹模型產生許多預測規則,而大部分的預測結果如同實際數據一樣,都是不會購買定存產品。為了提高電銷的成功率,銀行人員可由這些規則來篩選目標。SPSS Modeler 提供的決策樹結果,包括了分類結果、實例數字和置信度,當分類的實例置信度較高,則可導出預測規則。以圖 14 為例,橘色底色的規則為「當 duration<=391,poutcome in [「failure」「other」],其預測結果是 no」,實例數字為 2808 筆數據符合,其中 91%被正確預測。

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 14. 模型結果

以下條列預測結果 (圖 15,圖 16) 為 yes 的規則及其實例數字和置信度(以 50%最低置性,及 100 最小實例數):

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 15. 生成規則集

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 16. 規則集

利用圖形節點了解重要預測值


duration 和 poutcome 是剛剛得出的重要預測值。由直方圖 (圖 17) 來看,duration(與客戶對談時間)越長,成功率能大幅提升。超過 1000 秒的對談時間,成功率能超過五成。以分布圖 (圖 18) 來觀察 poutcome(上次行銷結果),上次跟客戶的成功交易,會大幅影響這次的結果。

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 17. duration 與客戶接受銀行商品意願的關係圖

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

圖 18. poutcome 與客戶接受銀行商品意願的關係圖

結束語


由本次分析的結果看來,電銷中有適當的與客戶的談話時間 (>1000 秒),及上次電銷的成功率將會影響到本次電銷的結果。由 Repeat customer 來著手,成功率會最明顯提升。電銷的談話時間需要進一步的檢視與客戶對談的實際內容,以設計吸引客戶的話題。從 campaign(打電話) 次數來看,打給客戶推銷的次數越多,銷售的效果越差。

公司在進行電銷行動前也可以事先篩選客戶,例如大於 60 歲或從事某一些職業 (學生、退休、主管等) 的客戶設定為優先考慮。再來篩選財務狀況。將基本的條件篩選完畢後,電銷結果就會跟談話的質量有關係。

文:

林俞均, 軟體工程師, IBM
賴秉宏, 軟體工程師,
IBM 袁璞, 軟體工程師, IBM

End.

回復查看更多內容
回復1,查看文章《數據挖掘算法與現實生活中的應用案例》
回復2,查看文章《 大數據領域的創業思考》
回復3,查看文章《【實戰PPT】看工商銀行如何利用大數據洞察客戶心聲?》
回復4,查看文章《PPT:基於微信大數據的股票預測研究》
回復5,查看文章《PPT講解:數據可視化,到底該用什麼軟體來展示數據?》
回復6,查看文章《PPT:如何成為真正的數據架構師?(附下載)》
回復7,查看文章《阿里巴巴PPT:大數據基礎建議及產品應用之道》
回復8,查看文章《馬雲和小貝選誰做老公?寫給非數據人的數據世界入門指南》
36大數據
36大數據是一個專注大數據創業、大數據技術與分析、大數據入門學習的商業新媒體。分享大數據在電商、移動互聯網APP、醫療及金融銀行等領域的落地應用。

36大數據是百度大數據首席戰略合作媒體。也是WeMedia自媒體聯盟成員。

網站:36dsj.com
QQ千人群:80958753
投稿郵箱:[email protected]
微信號:dashuju36

IBM SPSS Modeler 決策樹之銀行行銷預測應用分析

看一篇不過癮?
點下方「閱讀原文」查看更多

閱讀原文


關於作者:
關注大數據和互聯網趨勢,最大,最權威,最乾貨的大數據微信號(dashuju36)。大數據第一科技媒體。不發軟文,只做知識分享。

微信號:dashuju36