
本文將通過 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)
圖 1. 銀行電銷資料概觀
在模型建置前,首先要瞭解資料的群組成。通過 Data Audit Node 中簡單的圖表及統計資料 (如圖 2 所示),咱們可以察覺資料的異樣、極端值。以春秋欄位為例,咱們可以通過最大、最小及平均值,來察看有沒有異樣分佈。春秋 18~95 歲及平均 40 歲屬於標準分佈,所以不需要做特殊處理。其它欄位可以通過同樣模式檢視,以增添對客戶資料的瞭解。
圖 2. 銀行電銷資料概觀 2 – Data Audit Node
接下來咱們選取幾個代表性的欄位來分析電銷結果在資料欄位間的分佈。以客戶職業為例,由圖 3 可發現,學生、退休人員,及公司主管對定存產品的接受度較高。同時,咱們也意外發現,失業者的定存接受度也至關高。而這些發現仍需再進一步的鑽研,才可解釋其緣故。但在此,將不多作探討。
圖 3. 銀行客戶職業與定存產品接受度之圖表
以春秋的分佈來講,超過 60 歲的客戶普遍對定存產品的接受度較高 (圖 4),因而,可以做為打電話的參考依據。然而,以單一面相來抉擇結果並不是最理想,咱們仍需要找尋跟其它欄位的關聯性。
圖 4. 銀行客戶春秋與定存產品接受度之圖表
其它欄位的分析
此小節咱們將簡單的對其它欄位作分析。在業務資料上,許多欄位是連續類型的測量層級(Continuous),通過直方圖,咱們可以發現,打電話的時間、月份、客戶接電話的次數都會影響結果。這些欄位都是樹立預測模型的主要參考依據。Modeler 也提供了網狀圖讓咱們瞭解欄位間的關聯。例如由打電話的月份這個欄位,咱們可以通過網狀圖評估月份對勝利率的影響。
圖 5. 銀行最後一次致電客戶的時間 (秒) 對定存產品接受度之圖表
圖 6. 與銀行客戶通話次數對定存產品接受度之圖表
樹立決策樹模型串流
讀取資料
SPSS Modeler 中需要依據資料檔案格式,來選取不同的源節點讀取資料。本篇文章中咱們使用的資料檔案格式為 .csv 檔,因而咱們將使用可變檔案節點。在節點設定方面,檔案標籤下咱們先讀入資料「bank-full.csv」,接著勾選「讀取檔案中的欄位名」以及使用分號 (;) 做為欄位定界符。此外,在屢次反覆訓練模型後,依據變數主要性的排序,咱們在最後的模型選取移除相對於較不主要的欄位,將會據此篩選出建模所需要的資料欄位:過濾標籤下選取是否破產 (default) 、有沒有貸款 (loan) 等較無法預測結果的欄位。
圖 7. 使用可變檔案節點讀取資料
資料類型定義
為了發生決策樹模型,咱們需要在資料建模前就定義好各欄位的角色,也就是加入欄位選項下的「類型」節點。將類型節點拉入串流後,咱們會先點選讀取值按鈕,接著設定角色。在本案例中,欄位 y 是咱們最後預測的目的,因而先將其角色設定為「目的」,餘下的欄位則是要設定為「輸入」。
資料分區
為了在訓練出模型後能夠分析模型準確度,在此咱們將加入欄位選項下的「分區」節點,將資料分為 50%訓練資料以及 50%測試資料。在分區節點的編纂頁中,點選預覽可發現每筆資料已經多出了一個欄位「分區」,欄位中的值被隨機歸類為「1_訓練」及「2_測試」,讓決策樹節點可判別是否要使用此資料做為訓練資料。在完成資料分區後,咱們已經完成資料籌備 (請見圖 8),可以套用決策樹模型節點了。
圖 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 所示,左欄位使用文字樹狀開展,表現每一階層的分類狀況及目的變數的模式;右欄位則是總體模型預測變數的主要性對比。咱們也將會依據變數主要性調整模型設定、變數選取,持續的訓練出較佳的模型。檢視器標籤則是將同樣的決策樹結果用樹狀圖的模式展示。
圖 9. 決策樹模型結果
分析結果
在前面的串流發生中,咱們加入了分區節點將資料分成訓練資料與測試資料,因而在決策樹模型發生後,可加入分析節點,完成的決策樹串流如圖 10 所示。分析節點中咱們勾選重合矩陣選項,因而除了分析節點原本就提供的正確謬誤率對比,可進一步瞭解實際值與預測值的對比矩陣,如圖 11。分析結果將於下一小節臚陳。
圖 10. 決策樹串流
圖 11. C5.0 決策樹分析結果
評估結果
對比決策樹模型分析結果
正確率
因為各決策樹的演演算法不同,最後的分枝結果以及預測的準確性亦不同,本文使用 C5.0 及 CHAID 兩種決策樹節點,其預測正確率如圖 11 以及圖 12 所示。從結果來看,不管是訓練以及測試資料,C5.0 的正確率都高於 CHAID,因而接下來咱們會使用 C5.0 結果為主。進一步察看實際值與預測值的重合矩陣,可發現模型預測不購買定存商品的準確性遠高於預測將會購買的準確性,以 C5.0 測試資料來看,no 的預測準確性為 95.9%,弘遠於 yes 的 49.1%。
圖 12. CHAID 決策樹分析結果
變數主要性
C5.0 與 CHAID 模型的變數主要性如圖 13 所示。對比左側與右側的圖可發現,儘管變數主要性的排序兩個模型相差很大,然而最主要的兩個分析變數「duration」以及「poutcome」相同,且都比其他變數相對於主要許多。
圖 13. 變數主要性
解讀預測結果
預測規則
C5.0 決策樹模型發生許多預測規則,而大部份的預測結果如同實際資料同樣,都是不會購買定存產品。為了提高電銷的勝利率,銀行人員可由這些規則來篩選目的。SPSS Modeler 提供的決策樹結果,內含了分類結果、案例數字以及置信度,當分類的案例置信度較高,則可匯出預測規則。以圖 14 為例,橘色底色的規則為「當 duration<=391,poutcome in [「failure」「other」],其預測結果是 no」,案例數字為 2808 筆資料相符,其中 91%被正確預測。
圖 14. 模型結果
如下條列預測結果 (圖 15,圖 16) 為 yes 的規則及其案例數字以及置信度(以 50%最低置性,及 100 最小案例數):
圖 15. 生成規則集
圖 16. 規則集
應用圖形節點瞭解主要預測值
duration 以及 poutcome 是剛剛得出的主要預測值。由直方圖 (圖 17) 來看,duration(與客戶對談時間)越長,勝利率能大幅晉陞。超過 1000 秒的對談時間,勝利率能超過五成。以分佈圖 (圖 18) 來察看 poutcome(上次行銷結果),上次跟客戶的勝利交易,會大幅影響這次的結果。
圖 17. duration 與客戶接受銀行商品意願的關系圖
圖 18. poutcome 與客戶接受銀行商品意願的關系圖
收場語
由本次分析的結果看來,電銷中有適量的與客戶的談話時間 (>1000 秒),及上次電銷的勝利率將會影響到本次電銷的結果。由 Repeat customer 來著手,勝利率會最顯然晉陞。電銷的談話時間需要進一步的檢視與客戶對談的實際內容,以設計吸引客戶的話題。從 campaign(打電話) 次數來看,打給客戶推銷的次數越多,銷售的效果越差。
公司在進行電銷行徑前也可以事先篩選客戶,例如大於 60 歲或者從事某一些職業 (學生、退休、主管等) 的客戶設定為優先斟酌。再來篩選財務狀況。將基本的前提篩選完畢後,電銷結果就會跟談話的質量有關系。
文:
林俞均, 軟體專案師, IBM
賴秉巨集, 軟體專案師,
IBM 袁璞, 軟體專案師, IBM
End.
本文將通過 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)
圖 1. 銀行電銷資料概觀
在模型建置前,首先要瞭解資料的群組成。通過 Data Audit Node 中簡單的圖表及統計資料 (如圖 2 所示),咱們可以察覺資料的異樣、極端值。以春秋欄位為例,咱們可以通過最大、最小及平均值,來察看有沒有異樣分佈。春秋 18~95 歲及平均 40 歲屬於標準分佈,所以不需要做特殊處理。其它欄位可以通過同樣模式檢視,以增添對客戶資料的瞭解。
圖 2. 銀行電銷資料概觀 2 – Data Audit Node
接下來咱們選取幾個代表性的欄位來分析電銷結果在資料欄位間的分佈。以客戶職業為例,由圖 3 可發現,學生、退休人員,及公司主管對定存產品的接受度較高。同時,咱們也意外發現,失業者的定存接受度也至關高。而這些發現仍需再進一步的鑽研,才可解釋其緣故。但在此,將不多作探討。
圖 3. 銀行客戶職業與定存產品接受度之圖表
以春秋的分佈來講,超過 60 歲的客戶普遍對定存產品的接受度較高 (圖 4),因而,可以做為打電話的參考依據。然而,以單一面相來抉擇結果並不是最理想,咱們仍需要找尋跟其它欄位的關聯性。
圖 4. 銀行客戶春秋與定存產品接受度之圖表
其它欄位的分析
此小節咱們將簡單的對其它欄位作分析。在業務資料上,許多欄位是連續類型的測量層級(Continuous),通過直方圖,咱們可以發現,打電話的時間、月份、客戶接電話的次數都會影響結果。這些欄位都是樹立預測模型的主要參考依據。Modeler 也提供了網狀圖讓咱們瞭解欄位間的關聯。例如由打電話的月份這個欄位,咱們可以通過網狀圖評估月份對勝利率的影響。
圖 5. 銀行最後一次致電客戶的時間 (秒) 對定存產品接受度之圖表
圖 6. 與銀行客戶通話次數對定存產品接受度之圖表
樹立決策樹模型串流
讀取資料
SPSS Modeler 中需要依據資料檔案格式,來選取不同的源節點讀取資料。本篇文章中咱們使用的資料檔案格式為 .csv 檔,因而咱們將使用可變檔案節點。在節點設定方面,檔案標籤下咱們先讀入資料「bank-full.csv」,接著勾選「讀取檔案中的欄位名」以及使用分號 (;) 做為欄位定界符。此外,在屢次反覆訓練模型後,依據變數主要性的排序,咱們在最後的模型選取移除相對於較不主要的欄位,將會據此篩選出建模所需要的資料欄位:過濾標籤下選取是否破產 (default) 、有沒有貸款 (loan) 等較無法預測結果的欄位。
圖 7. 使用可變檔案節點讀取資料
資料類型定義
為了發生決策樹模型,咱們需要在資料建模前就定義好各欄位的角色,也就是加入欄位選項下的「類型」節點。將類型節點拉入串流後,咱們會先點選讀取值按鈕,接著設定角色。在本案例中,欄位 y 是咱們最後預測的目的,因而先將其角色設定為「目的」,餘下的欄位則是要設定為「輸入」。
資料分區
為了在訓練出模型後能夠分析模型準確度,在此咱們將加入欄位選項下的「分區」節點,將資料分為 50%訓練資料以及 50%測試資料。在分區節點的編纂頁中,點選預覽可發現每筆資料已經多出了一個欄位「分區」,欄位中的值被隨機歸類為「1_訓練」及「2_測試」,讓決策樹節點可判別是否要使用此資料做為訓練資料。在完成資料分區後,咱們已經完成資料籌備 (請見圖 8),可以套用決策樹模型節點了。
圖 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 所示,左欄位使用文字樹狀開展,表現每一階層的分類狀況及目的變數的模式;右欄位則是總體模型預測變數的主要性對比。咱們也將會依據變數主要性調整模型設定、變數選取,持續的訓練出較佳的模型。檢視器標籤則是將同樣的決策樹結果用樹狀圖的模式展示。
圖 9. 決策樹模型結果
分析結果
在前面的串流發生中,咱們加入了分區節點將資料分成訓練資料與測試資料,因而在決策樹模型發生後,可加入分析節點,完成的決策樹串流如圖 10 所示。分析節點中咱們勾選重合矩陣選項,因而除了分析節點原本就提供的正確謬誤率對比,可進一步瞭解實際值與預測值的對比矩陣,如圖 11。分析結果將於下一小節臚陳。
圖 10. 決策樹串流
圖 11. C5.0 決策樹分析結果
評估結果
對比決策樹模型分析結果
正確率
因為各決策樹的演演算法不同,最後的分枝結果以及預測的準確性亦不同,本文使用 C5.0 及 CHAID 兩種決策樹節點,其預測正確率如圖 11 以及圖 12 所示。從結果來看,不管是訓練以及測試資料,C5.0 的正確率都高於 CHAID,因而接下來咱們會使用 C5.0 結果為主。進一步察看實際值與預測值的重合矩陣,可發現模型預測不購買定存商品的準確性遠高於預測將會購買的準確性,以 C5.0 測試資料來看,no 的預測準確性為 95.9%,弘遠於 yes 的 49.1%。
圖 12. CHAID 決策樹分析結果
變數主要性
C5.0 與 CHAID 模型的變數主要性如圖 13 所示。對比左側與右側的圖可發現,儘管變數主要性的排序兩個模型相差很大,然而最主要的兩個分析變數「duration」以及「poutcome」相同,且都比其他變數相對於主要許多。
圖 13. 變數主要性
解讀預測結果
預測規則
C5.0 決策樹模型發生許多預測規則,而大部份的預測結果如同實際資料同樣,都是不會購買定存產品。為了提高電銷的勝利率,銀行人員可由這些規則來篩選目的。SPSS Modeler 提供的決策樹結果,內含了分類結果、案例數字以及置信度,當分類的案例置信度較高,則可匯出預測規則。以圖 14 為例,橘色底色的規則為「當 duration<=391,poutcome in [「failure」「other」],其預測結果是 no」,案例數字為 2808 筆資料相符,其中 91%被正確預測。
圖 14. 模型結果
如下條列預測結果 (圖 15,圖 16) 為 yes 的規則及其案例數字以及置信度(以 50%最低置性,及 100 最小案例數):
圖 15. 生成規則集
圖 16. 規則集
應用圖形節點瞭解主要預測值
duration 以及 poutcome 是剛剛得出的主要預測值。由直方圖 (圖 17) 來看,duration(與客戶對談時間)越長,勝利率能大幅晉陞。超過 1000 秒的對談時間,勝利率能超過五成。以分佈圖 (圖 18) 來察看 poutcome(上次行銷結果),上次跟客戶的勝利交易,會大幅影響這次的結果。
圖 17. duration 與客戶接受銀行商品意願的關系圖
圖 18. poutcome 與客戶接受銀行商品意願的關系圖
收場語
由本次分析的結果看來,電銷中有適量的與客戶的談話時間 (>1000 秒),及上次電銷的勝利率將會影響到本次電銷的結果。由 Repeat customer 來著手,勝利率會最顯然晉陞。電銷的談話時間需要進一步的檢視與客戶對談的實際內容,以設計吸引客戶的話題。從 campaign(打電話) 次數來看,打給客戶推銷的次數越多,銷售的效果越差。
公司在進行電銷行徑前也可以事先篩選客戶,例如大於 60 歲或者從事某一些職業 (學生、退休、主管等) 的客戶設定為優先斟酌。再來篩選財務狀況。將基本的前提篩選完畢後,電銷結果就會跟談話的質量有關系。
文:
林俞均, 軟體專案師, IBM
賴秉巨集, 軟體專案師,
IBM 袁璞, 軟體專案師, IBM兩岸商貿,在家工作,網路創業,創業賺錢思惟,微商平台,賺新台幣
End.
