活學活用決策樹(四)：運用SAS EM決策樹進行模型最適修枝

連續幾期介紹SAS EM決策樹的應用，各位讀者應該可以感受到SAS EM決策樹的使用彈性與功能強大。本期再介紹實務分析上決策樹常見的問題， 而SAS EM決策樹如何處理這些問題。 決策樹如何修枝 決策樹透過訓練資料的學習會不斷的產生分枝，直到模型統計量(如錯誤判斷率)不再下降才停止。這樣的模型學習狀況容易造成當原始訓練資料不完整、稀疏或是含有噪音資料時，則容易造成決策樹「過度配適」(Over-fitting)的問題，以致於所產生的決策樹太過於複雜，所產生的預測規則容易產生出偶發的特殊規則，預測規則不一般化，長期進行模型準度監控時，會發現模型容易失準，因此決策樹模型必須做適當的修剪。 SAS EM決策樹的修枝方式有兩個程序：事前修枝與事後修枝。 •事前修枝(Pre-Pruning) – 運用統計門檻值(Significance Level)加以衡量，譬如卡方值或資訊獲得值等技術，評估是否該繼續分割某內部節點成數個子分支或是應該立刻停止。 調整統計檢定p-value的顯著水準，決定進入模型的變數數量。若避免決策樹太過複雜，則建議顯著水準值可以調高一點。 – 透過決策樹最大層數與葉子內觀測值數量的最小設定來限制決策樹的大小。若避免決策樹切的太細，建議Leaf Size調高一點。 可以調整統計檢定p-value的顯著水準，決定進入模型的變數數量。 可以調整決策樹發展的層級數來控制樹的大小。 調整決策樹葉觀測值大小來做預修枝的功能。 •事後修剪(Post-Pruning) – 允許決策樹過度配適情形的合理存在，當完成決策樹的建立之後，再進行修剪的程序。 – 透過資料集切割，分成訓練資料集與驗證資料集。訓練資料集的模型學習會產生最複雜的決策樹模型，SAS EM透過驗證資料集來進行模型調整與最適修枝的工作。 – SAS EM決策樹提供自動修枝功能，透過模型評估統計方法:平均誤差平方(Average Square Error)、錯誤判斷率(Misclassification Rate)，SAS EM以驗證資料集結果為主，平均誤差平方值最低，投入變數最少的簡約模型當作最適模型修枝的結果。 提供自動修枝功能， Method=Assessment。Assessment Measure提供統計值有Average Square Error/Misfication Rate/Lift值。 下圖為SAS EM決策樹子樹評估圖(Subtree Assemssment Plot)，圖中藍色曲線表示訓練資料集的模型結果，訓練資料追求模型的準確度越大越好，所以模型會越學習越準，直到平均誤差平方不再下降為止，但也因此容易造成模型過度配適的現象。紅色曲線表示驗證資料在各模型階段的結果，圖型結果顯示決策樹長到第11條預測規則以後，驗證資料的模型準度不減反增，而訓練資料卻越學習越好，顯示模型有過度配適的現象。透過SAS EM決策樹的自動修枝功能，提供分析者決策樹修枝的方向，子樹評估圖顯示模型訓練資料產出19條預測規則的最複雜決策樹的模型結果，自動修枝結果則告訴分析者最適模型為產出11條預測規則之模型。因此，SAS EM決策樹會自動進行修枝，將過度配適的分枝進行修剪。 圖一：子樹評估圖(Subtree Assessment Plot) 除了提供系統自動修枝功能，SAS EM決策樹還提供分析者自行修枝的互動式功能。分析者除了參照自動修枝的結果，還可以業務經驗進行專家調整。 …