一、使用SAS/EM界面生成CHAID决策树
CHAID (Chi-Square Automatic Interaction
Detector)演算法為利用卡方分析(Chi-Square
Test)預測二個變數是否需要合併,如能夠產生最大的類別差異的預測變數,將成為節點的分隔變數。透過計算節點中類別的 P值
(P-Value),以P值大小來決定決策樹是否繼續生長,所以不需像C4.5或CART要再做決策樹修剪的動作。CHAID
與CART、C4.5
之差異在於,CHAID只限於處理類別變數,如連續變數必須採用區段的方式,轉換成類別變數。另一差異部分在於修剪的部分,CART、C4.5
是先過度套用資料訓練,之後再修剪。但CHAID 則是在過度套用之前即停止支點蔓生擴大。
二、通过R和SAS代码实现
样例数据来自 R 包,主要是想比较 R 和 SAS
生成的决策树是否相同。运行的结果确实不同,估计是运行参数的不同导致,仍有待研究。
1) Build CHAID tree using
R
# Train
data:
library(partykit)
library("CHAID")
data("BreastCancer", package = "mlbench")
# Build model:
ctrl
-1, alpha4 = 0.05,
minsplit=2, minbucket = 5, m