决策树算法模型的归类与整理(ID3&C4.5&CART&线性二分类&非线性二分类)

决策树算法模型的归类与整理(ID3&C4.5&CART&线性二分类&非线性二分类)

一、 总结摘要
  决策树模型在监督学习中非常常见,可用于分类(二分类、多分类)和回归。虽然将多棵弱决策树的Bagging、Random Forest、Boosting等tree ensembel 模型更为常见,但是“完全生长”决策树因为其简单直观,具有很强的解释性,也有广泛的应用,而且决策树是tree ensemble 的基础。一般而言一棵“完全生长”的决策树包含,特征选择、决策树构建、剪枝(包括预剪枝和后剪枝)三个过程,接下来我将简要地梳理并比较ID3、C4.5、CART这3个算法。

在这里插入图片描述
  例如上图即为一棵简单的决策树模型,可以用来简单判定并预测一位女孩是否要去见她的相亲对象,这个过程与评判标准即可用上面的决策树模型来加以辅助判定。
决策树的优点与缺点
优点:

  1. 决策树算法中简单的决策规则建立决策树模型的过程非常容易理解;
  2. 决策树模型可以可视化,非常直观;
  3. 应用范围广,可用于分类和回归,而且非常容易做多类别的分类;
  4. 能够处理数值型和连续的样本特征。它比较适合分析离散型数据,若数据为连续型,则要先转换成离散的数据再进行分析。
    缺点:
  5. 很容易在训练数据中生成复杂的树结构,造成过拟合情况(overfitting)。剪枝可以缓解过拟合带来的的负作用,常用方法是限制树的高度、叶子节点中的最少样本数量;
  6. 学习一棵最优的决策树被认为是NP-Complete问题。实际中的决策树是基于启发式的贪心算法建立的,但这种算法不能保证建立全局最优的决策树。Random Forest 引入随机能缓解这个问题。
    时间复杂度与空间复杂度分析
    时间复杂度O(NMD):O(NMD), N是sample的大小,M是feature的数量,D是树的深度。cart生长时,把所有feature内的值都作为分裂候选,并为其计算一个评价指标(信息增益、增益比率、gini系数等),所以每层是O(NM),D层的树就是O(NM*D)。
    空间复杂度o(N + M * Split * TreeNum ):N为样本数量,M为特征数量,Split为平均每个特征的切分点数量,TreeNum为如果为随机森林,随机森林的数目数量。

70年代后期至80年代,Quinlan开发了ID3算法,后来,他将ID3算法进行改进,得到了C4.5算法,到1984年,由多位统计学家共同研究,又得出了CART算法。因此,ID3到C4.5再到CART算法,都是建立在决策树模型的基础之上的迭代和更新,通过算法内部的调整不断对决策模型进行优化和改进。接下来,我将详细介绍并比较这三种算法的用途及原理。
二、 ID3算法
  ID3由Ross Quinlan在1986年提出。ID3决策树可以有多个分支,但是不能处理特征值为连续的情况。决策树是一种贪心算法,每次选取的分割数据的特征都是当前的最佳选择,并不关心是否达到最优。在ID3中,每次根据“最大信息熵增益”选取当前最佳的特征来分割数据,并按照该特征的所有取值来切分,也就是说如果一个特征有4种取值,数据将被切分4份,一旦按某特征切分后,该特征在之后的算法执行中,将不再起作用,所以有观点认为这种切分方式过于迅速。
ID3算法十分简单,核心是根据“最大信息熵增益”原则选择划分当前数据集的最好特征,信息熵是信息论里面的概念,是信息的度量方式,不确定度越大或者说越混乱,熵就越大。在建立决策树的过程中,根据特征属性划分数据,使得原本“混乱”的数据的熵(混乱度)减少,按照不同特征划分数据熵减少的程度会不一样。在ID3中选择熵减少程度最大的特征来划分数据,也就是“最大信息熵增益”原则。
  由于决策树会根据最大信息增益来对结点进行划分,因此信息增益的计算尤为重要,公式如下:
在这里插入图片描述
注明:p(i)为某种情况出现的概率值,Info(D)为整体的信息熵,InfoA(D)表示在选取属性A作为节点对整体进行划分后信息熵值,Gain(A)为属性A的信息增益大小。

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值