条件推断树与传统决策树相似,但变量和分割的选取是基于显著性检验的,而不是纯进度或同质性一类的度量。 显著性检验是置换检验算法
(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
每一个节点中的阴影区域表明这个节点对应的恶性肿瘤比例变量