杜嬋
【摘 要】 近年來,信息社會中豐富的數據對數據分析工具需求加大,數據挖掘技術應運而生,決策樹方法以其速度快、精度高、生成的模式簡單等優點受到許多研究者關注,已成功應用于醫療診斷、金融分析、身份識別等許多應用領域,一般情況下決策樹分類器具有良好的準確率。本問旨在使用銀行營銷數據通過Clementine與python兩種方法構造決策樹CART算法下的模型,分別得出影響客戶辦理銀行定期存款業務的各因素的重要程度,以及通過模型對輸出變量y預測的精度,從而進行兩個結果的對比分析,找出兩種方法存在的差異。
【關鍵詞】 決策樹CART算法 Clementine、Python 預測精度
一、數據介紹
本次報告中使用的Bank Marking(銀行營銷)數據是通過UCI數據庫下載獲得,該數據共涉及45211條客戶信息,包含17個變量,其中輸出變量為是否辦理了定期存款業務,是本次研究的目標。
二、方法執行過程與結果
1.spss下Clementine的實現
(1)數據準備:將賦值好的SPSS數據導入Clementine;而后設置數據類型:將前16個自變量設為輸入變量,而將客戶是否辦理定期存款業務“y”設置為輸出變量;接著進行數據分區,需要將數據集分為訓練集與測試集,數據比例設置為8:2,通過80%的數據進行訓練來構造模型,剩余20%的數據將作用于該模型來進行預測。
(2)建模:做好數據準備后執行決策樹的CART算法,為了防止過度擬合進行先剪枝,將最大樹狀圖深度設置為5,并選用Gini系數作為分解屬性的標準,而后開始訓練模型。由模型輸出的變量重要性排序可得,對輸出變量影響較大的前四位依次為:與客戶最后一次聯系的時長、以前的營銷活動的結果、與客戶最后一次聯系的月份,以及通訊方式關系較大,可以重點關注這四方面。
(3)評估與分析結果:①訓練與測試的預測精度:訓練集數據的預測正確率為89.81%,通過用訓練樣本所構造的模型來驗證測試樣本,預測結果正確的有8115個,占總測試樣本9028中的89.89%,預測精確度較高,效果較好。②累計收益圖:該算法所得的累計收益曲線距離理想曲線非常近,表明預測效果良好。③重合矩陣:在測試集中,實際辦理而模型預測也辦理業務的客戶數有449個;實際辦理而預測未辦理的為590個;實際未辦理而預測已辦理的為323個;實際未辦理而預測未辦理的為7666個。準確度高達89.89%。
2.Python的實現
(1)模型建立:①分割數據:在確定變量后就要建立模型,以便預測新樣本,需要把樣本分為訓練集和測試集。根據經驗,訓練集樣本比例設為80%,測試集樣本比例為20%。②決策樹建模:防止出現過擬合,采用預剪枝方法,設置最大樹深為5,使用CART算法進行建模。
(2)模型評估:一個模型建立后還需要根據模型在測試集上的表現來選擇預測效果好的模型和模型參數。使用準確度以及ROC曲線來作為該模型評估的方法。
①混淆矩陣:實際辦理而模型預測也辦理的有370個;實際辦理而預測未辦理的670個;實際未辦理而預測已辦理的為221個;實際未辦理而預測也為未辦理的有7773個。②預測準確度:模型預測的準確度為90.04%,準確度較高。③ROC曲線與AUC:ROC曲線是利用真正例率和假正例率兩指標對應的數值組合描點繪制的圓滑曲線,當ROC曲線越接近理想曲線時,模型效果越好。AUC值是計算的ROC曲線下方的面積,約為0.88,較接近1,說明該預測效果較好。
(3)變量重要性:
重要性是第j個輸入變量在所有節點GINI系數的平均減少,該變量重要性反映每個變量在分類中的影響力。結果顯示對輸出變量影響較大的前四位依次為與客戶最后一次聯系的時長、以前的營銷活動的結果、通訊方式和是否有住房貸款關系較大。
三、結論
1.結論:通過以上分析,對于銀行營銷活動中客戶是否辦理定期存款業務的重要影響因素以及模型預測情況可以得出以下結論:
(1)通過決策樹模型的輸出結果顯示,用80%訓練樣本所構造的模型來驗證剩余20%測試樣本,預測精確度在90%左右,預測效果較好。(2)通過CART算法的決策樹模型對客戶是否辦理定期存款業務這一輸出變量進行分析,得到影響它的重要性因素和各因素重要性排序。通過以上分析,可以得出與客戶最后一次聯系時長和以前的營銷活動結果是主要的影響因素,在以后的營銷活動中可以重點關注這兩個變量情況,并通過模型來預測潛在重點客戶,增強銀行的營銷效果。
2.差異比較:
即便是分析同一個模型,在使用兩種不同方法的情況下還是存在一定的差異,通過以上分析,對兩種方法所得出的結果之間的差異進行總結如下:
(1)預測效果矩陣:兩種方法進行預測的結果存在差異性,但其預測精度基本相近:對于實際辦理業務的客戶預測結果正確的相較預測錯誤的占比偏低,而對于實際未辦理的客戶預測正確的要遠多于預測錯誤的數量。(2)預測精度:兩種方法構造的模型所預測的精度差距甚微,但相比較下,python仍然要比Clementine構建出的模型的預測精度略高。(3)預測曲線:雖然兩種方法下所用到的描述預測情況的曲線不同,但二者都比較明確地展示了模型預測效果。二者都存在最優曲線和基準曲線,分別代表的是預測效果最優和最差的曲線,而預測得到的曲線越接近最有曲線則表明預測效果越好,兩者對比發現,Python下的ROC曲線比累計收益曲線更接近理想曲線,預測效果較好。(4)變量重要性:兩種方法所得到的變量重要性排序結果差異較大,Python方法下的模型所得到的變量重要性可以就其變量特征細分來進行重要性分析,而Clementine方法只能對自變量進行重要性排序,不過二者分析結果中重要性排前兩位的都是與客戶最后一次聯系的時長、以前的營銷活動的結果,并且所占比重近似,對y的影響共能達到80%左右,是非常重要的變量需要去關注。