美文网首页
机器学习——条件决策树

机器学习——条件决策树

作者: bffbb3a8a646 | 来源:发表于2019-05-09 16:17 被阅读0次

使用威斯康星州乳腺癌数据,划分训练集和测试集,比较经典决策树和条件决策树的效果。

条件决策树

算法如下:

(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")

ctree.pred <- predict(fit.ctree, df.validate, type="response")

ctree.perf <- table(df.validate$class, ctree.pred,dnn=c("Actual", "Predicted"))

ctree.perf

注:

值得注意的是,对于条件推断树来说,剪枝不是必需的,其生成过程相对更自动化一些。另外,party包也提供了许多图像参数。

下图展示了一棵条件推断树,每个节点中的阴影区域代表这个节点对应的恶性肿瘤比例。

predict()函数用来对验证集中的观测点分类。结果给出了实际类别与预测类别的交叉表。整体来看,条件决策树中验证集中的准确率是95.2381%,经典决策树的准确率是96%。

尽管在这个例子中,传统决策树和条件推断树的准确度比较相似,但有时它们可能会很不一样。

总结

· rpart包的处理方式:

首先对所有自变量和所有分割点进行评估,最佳的选择是使分割后组内的数据更为"一致"(pure)。这里的"一致"是指组内数据的因变量取值变异较小。

rpart包对这种"一致"性的默认度量是Gini值("吉尼系数"也可以用来衡量样本数据集的纯度。

吉尼系数越小,则表示该节点可以有效的把同一类聚集在一起。反之,分割后的类别越杂乱,则吉尼系数会越大。

在决策树生成时,当用到吉尼系数这个方法时,通常会计算每一个特征的吉尼系数,接着比较各个特征下的吉尼系数,系数越小的特征越适合先作为内部节点。)。

确定停止划分的参数有很多(参见rpart.control),确定这些参数是非常重要而微妙的,因为划分越细,模型越复杂,越容易出现过度拟合的情况,而划分过粗,又会出现拟合不足。

处理这个问题通常是使用"剪枝"(prune)方法。即先建立一个划分较细较为复杂的树模型,再根据交叉检验(Cross-Validation)的方法来估计不同"剪枝"条件下,各模型的误差,选择误差最小的树模型。

· party包的处理方式:

它的背景理论是"条件推断决策树"(conditional inference trees):它根据统计检验来确定自变量和分割点的选择。

即先假设所有自变量与因变量均独立。再对它们进行卡方独立检验,检验P值小于阀值的自变量加入模型,相关性最强的自变量作为第一次分割的自变量。自变量选择好后,用置换检验来选择分割点。

用party包建立的决策树不需要剪枝,因为阀值就决定了模型的复杂程度。所以如何决定阀值参数是非常重要的(参见ctree_control)。较为流行的做法是取不同的参数值进行交叉检验,选择误差最小的模型参数。

相关文章

  • 机器学习——条件决策树

    使用威斯康星州乳腺癌数据,划分训练集和测试集,比较经典决策树和条件决策树的效果。 条件决策树 算法如下: (1) ...

  • 02 决策树 - 初识与构建

    在讲决策树之前补充了一些基本概念:比特化、信息熵、条件熵,重点理解熵的概念。本章开始正式进入机器学习模型-决策树。...

  • [机器学习]决策树

    决策树 @(技术博客)[机器学习, 决策树, python] 学习决策树首先要搞清楚决策树是什么(what),在弄...

  • 6.machine_learning_Decision_Tree

    1 机器学习决策树 1.1机器学习中的决策树模型 ① 树模型不用做scaling ② 树模型不太需要做离散化 ③ ...

  • 2018-12-19

    以模型为驱动,了解“机器学习”的本质 我选择了几种经典模型 (例如:线性回归、逻辑回归、 决策树、支持向量机、条件...

  • 机器学习 | 决策树及若干基础问题

    决策树 1.构造决策树 学习决策树就是学习一系列if/else问题,是我们能够以最快的速度得到正确答案。在机器学习...

  • 2018-12-12

    day03 机器学习的过程: 以模型为驱动, 1、经典算法:线性回归,逻辑回归,决策树,支持向量机,条件随机场,K...

  • ID3、C4.5、CART决策树生成算法总结

    简介 决策树模型是最常见的机器学习方法之一,也是入门机器学习必须掌握的知识。决策树模型呈现树形结构,在分类问题中,...

  • 机器学习之决策树(Decision Tree)及其Python

    机器学习之决策树(Decision Tree)及其Python代码实现

  • 机器学习笔记(6):决策树

    本文来自之前在Udacity上自学机器学习的系列笔记。这是第6篇,介绍了监督学习中的决策树模型。 决策树 决策树是...

网友评论

      本文标题:机器学习——条件决策树

      本文链接:https://www.haomeiwen.com/subject/fozwoqtx.html