机器学习之决策树

前提概要

决策树是一个预测模型,它表示对象属性对象类别之间的一种映射。决策树中的非叶子节点表示对象属性的判断条件,其分支表示符合节点条件的所有对象,树的叶子节点表示对象所属的类别。

来个例子

比如我们用贷款业务中的一个例子来讲,如下:

  • 对象属性 - 比如贷款用户的年龄、是否工作、是否有房产、信用评分等
  • 对象类别 - 是否批准其贷款申请。

构建的决策树如下:


机器学习之决策树_第1张图片
贷款情况表训练出来的决策树

决策树可以转化为一系列的规则(Rule),从而构成一个规则集(Rule Set),这样的规则很容易理解和运用。

比如上述决策树,最左边的分支对应的规则是:如果客户年龄属于青年,而且有工作,那么就可以批准其贷款申请。

决策树的构造过程

  • 确定一个属性,根据不同记录在该属性上的取值,对所有记录进行划分。
  • 对每个分支重复这个过程,即对每个分支选择另外一个未参与树的创建的属性,继续对样本进行划分;

属性的选择(特征选择)的目的是使分类后的数据集比较纯,即数据集里主要是某个类别的样本,因为决策树的目标就是把数据庥按对应的类别标签进行分类。

最理解的情况下:通过特征的选择,能把不同类别的数据集贴上对应的类别标签。

引入几个概念

我们一般会引入数据纯度函数(即信息增益函数)来衡量一个数据集的纯度。

信息熵: 表示的是不确定性,非均匀分布时,不确定性最大,此时熵就最大。
信息增益: 当选择某个特征,对数据集进行分类时,分类后的数据集的信息熵会比分类前的小,其差值表示为信息增益。信息增益可以衡量某个特征对分类结果的影响大小。
对于一个数据集,特征A作用之前的信息熵计算公式为:

  • D - 为训练数据集;
  • c - 为类别数量;
  • Pi - 为类别i样本数量点所有样本的比例;

对应数据集D,选择特征A作为决策树判断节点时,在特征A作用后的信息熵为:

  • k - 为样本D被分数k个子集;

信息增益表示数据集D在特征A的作用后,其信息熵减少的值(信息熵差值),其计算公式如下:

决策树的剪枝

在决策树建立的过程中,很容易出现过拟合(Overfitting)的现象。过拟合是指模型非常逼近训练样本,模型是在训练样本上训练出来的,在训练样本上预测的准确率很高,但是对测试样本的预测准确率不高,效果并不好,也就是模型的eneralization泛化能力(Generalization)差.
当把模型应用到新数据上时,其预测效果不好,过拟合不利于模型的实际应用。

决策树同样会出现过拟合现象,我们可以通过剪枝进行一定的修复,剪枝可分为预先剪枝后剪枝两种;

  • 预先剪枝 - 指在决策树构建过程中,使用一定条件加以限制,在产生完全拟合的决策树之前就停止生长。方法如信息增益小于一定阈值时,通过剪枝使决策树停止生长
  • 后剪枝 - 是在决策树构建完成之后,也就是所有的训练样本都可以用决策树划分到不同子类后,按照自底向上的方向,修剪决策树。其方式有二种:一种是用新的叶子节点替换子树,该节点的预测类由子树数据集中的多数类决定;另一种是用子树中最常使用的分支替子树。

提升

决策树算法有一些变种,包括ID3,C4.5,CART等,一般需要经过两个阶段来进行构造,即树的生长阶段(Growing)和剪枝阶段(Pruning);
决策树的应用场合,除了上面所说的是否批准贷款申请外,还有对客户进行细分、对垃圾邮件进行识别等场合。

你可能感兴趣的:(机器学习之决策树)