大话系列:决策树算法

目录

一、算法初步认识

1、思想:

2、特点:

3、流程:

4、案例:

二、决策树的三种基本类型

1、ID3算法

2、C4.5算法

3、CART

三、三种基本类型比较

1、划分标准的差异:

2、使用场景的差异:

3、样本数据的差异:

4、样本特征的差异:

5、剪枝策略的差异:


#博学谷IT学习技术支持#   

 

一、算法初步认识

1、思想:

决策树算法属于监督学习方法。

类似 if-else 逻辑判断的树结构,if是条件特征,then是类标签决策,按照特征顺序建立决策树 。

决策树算法也是一种归纳分类算法,它通过对训练集的学习,挖掘出有用的规则,用于对新数据进行预测。

决策树归纳的基本算法是贪心算法,自顶向下来构建决策树,在每一步选择中都采取在当前状态下最好/优的选择。在决策树的生成过程中,分割方法(即属性选择的度量)是关键。

2、特点:

决策树是一种树状结构,从训练数据中学习得出一个树状结构的模型,通过做出一系列决策来对数据进行划分,这类似于针对一系列问题进行选择,属于判别模型。

优点:

⚫ 推理过程容易理解,计算简单,可解释性强。

⚫ 比较适合处理有缺失属性的样本。

⚫ 可自动忽略目标变量没有贡献的属性变量,也为判断属性变量的重要性,减少变量的数目提供参考。

缺点:

⚫ 容易造成过拟合,需要采用剪枝操作。

⚫ 忽略了数据之间的相关性。

⚫ 对于各类别样本数量不一致的数据,信息增益会偏向于那些更多数值的特征。

3、流程:

决策树的决策过程就是从根节点开始,测试待分类项中对应的特征属性,并按照其值选择输出分支,直到叶子节点,将叶子节点的存放的类别作为决策果。

4、案例:

大话系列:决策树算法_第1张图片

二、决策树的三种基本类型

建立决策树的关键,即在当前状态下选择哪个属性作为分类依据。根据不同的目标函数, 建立决策树主要有一下三种算法:ID3、C4.5、CART。

大话系列:决策树算法_第2张图片

1、ID3算法

ID3 算法最早是由罗斯昆(J. Ross Quinlan)于1975年提出的一种决策树构建算法,算法的核心是“信息熵”,期望信息越小,信息熵越大,样本纯度越低。

ID3 算法是以信息论为基础,以信息增益为衡量标准,从而实现对数据的归纳分类。

ID3 算法计算每个属性的信息增益,并选取具有最高增益的属性作为给定的测试属性。

其大致步骤为:

  1. 初始化特征集合和数据集合;
  2. 计算数据集合信息熵和所有特征的条件熵,选择信息增益最大的特征作为当前决策节点;
  3. 更新数据集合和特征集合(删除上一步使用的特征,并按照特征值来划分不同分支的数据集合);
  4. 重复 2,3 两步,若子集值包含单一特征,则为分支叶子节点

2、C4.5算法

C4.5 算法是 Ross 对 ID3 算法的改进,ID3选择属性用的是子树的信息增益,而C4.5用的是信息增益率。

并且在决策树构造过程中,进行剪枝,对非离散数据也能处理,能够对不完整数据进行处理。

过拟合出现的原因:

为了尽可能正确分类训练样本,节点的划分过程会不断重复直到不能再分,这样就可能对训练样本学习的“太好”了,把训练样本的一些特点当做所有数据都具有的一般性质,从而导致过拟合。

 

预剪枝(prepruning)

预剪枝不仅可以降低过拟合的风险而且还可以减少训练时间,但另一方面它是基于“贪心”策略,会带来欠拟合风险。

后剪枝

在已经生成的决策树上进行剪枝,从而得到简化版的剪枝决策树。

后剪枝决策树通常比预剪枝决策树保留了更多的分支。一般情况下,后剪枝的欠拟合风险更小,泛化性能往往优于预剪枝决策树。

在已经生成的决策树上进行剪枝,从而得到简化版的剪枝决策树。

C4.5 采用的悲观剪枝方法,用递归的方式从低往上针对每一个非叶子节点,评估用一个最佳叶子节点去代替这课子树是否有益。如果剪枝后与剪枝前相比其错误率是保持或者下降,则这棵子树就可以被替换掉。

C4.5 通过训练数据集上的错误分类数量来估算未知样本上的错误率。

后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树。

3、CART

CART:Classification and Regression Tree ()

顾名思义,CART算法既可以用于创建分类树,也可以用于创建回归树,两者在构建的过程中稍有差异。

如果目标变量是离散的,称为分类树。 如果目标变量是连续的,称为回归树。

用基尼指数来选择属性(分类),或用均方差来选择属性(回归)。

三、三种基本类型比较

1、划分标准的差异

ID3 使用信息增益偏向特征值多的特征,C4.5 使用信息增益率克服信息增益的缺点,偏向于特征值小的特征,CART 使用基尼指数克服 C4.5 需要求 log 的巨大计算量,偏向于特征值较多的特征。

2、使用场景的差异

ID3 和 C4.5 都只能用于分类问题,CART 可以用于分类和回归问题;ID3 和 C4.5 是多叉树,速度较慢,CART 是二叉树,计算速度很快;

3、样本数据的差异:

ID3 只能处理离散数据且缺失值敏感,C4.5 和 CART 可以处理连续性数据且有多种方式处理缺失值;从样本量考虑的话,小样本建议 C4.5、大样本建议 CART。C4.5 处理过程中需对数据集进行多次扫描排序,处理成本耗时较高,而 CART 本身是一种大样本的统计方法,小样本处理下泛化误差较大 ;

4、样本特征的差异

ID3 和 C4.5 层级之间只使用一次特征,CART 可多次重复使用特征;

5、剪枝策略的差异:

ID3 没有剪枝策略,C4.5 是通过悲观剪枝策略来修正树的准确性,而 CART 是通过代价复杂度剪枝。

你可能感兴趣的:(机器学习,算法,机器学习)