条件推断树

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

  • 条件推断树

条件推断树与传统决策树类似,但变量和分割的选取是基于显著性检验的,而不是纯进度或同质性一类的度量。 显著性检验是置换检验

  • 算法

(1)对输出变量与每个预测变量间的关系计算 p 值

(2)选择 p 值最小的变量

(3)在因变量与被选中的变量间尝试所有可能的二元分割(通过排列检验),并选取最显著的分割

(4)将数据集分成两群,并对每个子群重复上述步骤

(5)重复至所有分割都不显著或已到达最小节点为止

条件推断树可由 party包中的 ctree() 函数获得  

> 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张图片

                        图1 乳腺癌的条件推断树

 每个节点中的阴影区域代表这个节点对应的恶性肿瘤比例

 

转载于:https://my.oschina.net/u/1785519/blog/1565256

你可能感兴趣的:(数据结构与算法,python,matlab)