條件推斷樹與傳統決策樹相似,但變量和分割的選取是基於顯著性檢驗的,而不是純進度或同質性一類的度量。 顯著性檢驗是置換檢驗算法
(1)對輸出變量與每一個預測變量間的關係計算 p 值函數
(2)選擇 p 值最小的變量spa
(3)在因變量與被選中的變量間嘗試全部可能的二元分割(經過排列檢驗),並選取最顯著的分割code
(4)將數據集分紅兩羣,並對每一個子羣重複上述步驟it
(5)重複至全部分割都不顯著或已到達最小節點爲止io
條件推斷樹可由 party包中的 ctree() 函數得到 table
> library(party) > fit.ctree <- ctree(class~.,data = df.train) #生成樹 > plot(fit.ctree,main="Conditional Inference Tree") #以下圖1 >ctree.perd <- predict(fit.ctree,df.validate,type = "response") #對訓練集外樣本單元分類 > ctree.perf <- table(df.validate,ctree.perd,dnn = c("Actual","Predcted")) > ctree.perf Predicted Actual benign malignant benign 122 7 malignant 3 78
圖1 乳腺癌的條件推斷樹class
每一個節點中的陰影區域表明這個節點對應的惡性腫瘤比例變量