不同的决策树算法,比较复杂性或性能

时间:2012-04-02 15:45:37

标签: performance machine-learning complexity-theory classification decision-tree

我正在研究数据挖掘,更确切地说是决策树。

我想知道是否有多种算法来构建决策树(或只有一个?),哪个更好,基于

等标准
  • 性能
  • 复杂性
  • 决策失误
  • 等。

1 个答案:

答案 0 :(得分:77)

决策树实现主要沿着这些轴不同:

  • 拆分标准 (即如何计算“方差”)

  • 是否构建 回归 的模型(连续变量,例如a 得分)以及 分类 (离散变量,例如一个类 标签)

  • 消除/减少 过度拟合的技术

  • 是否可以处理 不完整数据


主要的决策树实现是:

  • ID3 或Iterative Dichotomizer是三个决策树中的第一个 由Ross Quinlan开发的实现(Quinlan,J。R. 1986.Induction of Decision Trees.Mach.Learn.1,1(Mar. 1986),81-106。)

  • CART 分类和回归树通常用作通用 决策树一词的首字母缩写,虽然它显然具有更具体的含义。总之,CART实现与C4.5非常相似;一个值得注意的差异是CART根据递归应用于数据的数字分割标准构造树,而C4.5包括构建规则集的中间步骤。

  • C4.5 ,Quinlan的下一次迭代。新功能(与ID3相比)是: (i)接受连续和离散的特征; (ii)处理 不完整的数据点; (iii)解决过度拟合的问题(非常 聪明的自下而上的技术,通常被称为“修剪”; (iv) 不同的权重可以应用于构成的特征 培训数据。其中,第一个三个非常重要 - 我建议你选择的任何DT实现都有三个。第四个(差别加权)不太重要

  • C5.0 ,最近的Quinlan迭代。这个实现是 由专利覆盖,因此可能很少实施 (商业软件包之外)。我从未编写过C5.0 我自己实现(我从未见过源代码)因此我无法提供C5.0与C4.5的明智比较。我一直 对其发明者所声称的改进持怀疑态度(Ross Quinlan) - 例如,他声称它是“几个数量级” 比C4.5快。其他声明同样广泛(“显着更高的存储效率”)等等。我只想指出你studies 报告两种技术的比较结果,你可以自己决定。

  • CHAID (卡方自动交互检测器)实际上早于 最初的ID3实施大约六年(发表于 博士戈登卡斯在1980年的论文。我对这项技术知之甚少.R平台有一个名为CHAID的软件包 包括优秀的文档

  • MARS (多自适应回归样条)实际上是由索尔福德系统公司MARS的原始发明人注册的一个术语。作为一个 结果,Salford未出售的库中的MARS克隆被命名为MARS之外的其他东西 - 例如,在R中,相关函数是多样条库中的polymars。 Matlab和Statistica也有 具有MARS功能的实现

我会推荐使用CART或C4.5(虽然我对C5.0或CHAID没有直接经验,但我熟悉他们的功能集)。

C4.5是Orange中实施的决策树风格; CART是sklearn中的风格 - 两者都是出色的ML库中的优秀实现。

C4.5是超越ID3的重要一步 - 无论是范围(C4.5具有更广泛的用例谱,因为它可以处理训练数据中的连续变量) 模型质量的条款。

对于C5.0与C4.5相比,最重要的声称改进是支持 提升树 。 DT的集合支持 - 提升树木和随机森林 - 已包含在Orange的DT实施中;这里,集合支持被添加到C4.5算法中。 sklearn还提供一系列随机森林和助推方法。