机器学习(周志华)读书笔记-(四)决策树

决策树

       决策树-一种常见的机器学习方法,是一种简单但是广泛使用的分类器。通过训练数据构建决策树,可以高效的对未知的数据进行分类。通过对属性的选择划分形成一个树形的结构,最终对相似事物根据属性划分归类。决策数有两大优点:1)决策树模型可以读性好,具有描述性,有助于人工分析;2)效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度。

       决策树的构架是一个递归过程,三种情况导致递归返回,1)当前包含的样本属于同一类别,无须划分。2)当前属性集为空,或者所有属性取值相同,无法划分。3)当前节点包含的样本集为空不能划分。一个决策树包含了一个根节点,若干个内部节点和若干个叶节点。关键点在与选择划分的属性。这样的话,我们对于属性的选择就有了一个判定标准。再划分分支的时候,为了选择最优属性希望决策树的分支点所包含的样本尽可能属于同一类别,即纯度越来越高。划分评价准则一般有:1)信息熵:假设当前样本集D中第k类样本所占的比例为pk(k=1,2,...|y|)(类别数),则D的信息熵定义为Ent(D)的值越小,D的纯度越高。

假设离散属性a有V个可能的取值那么使用a对样本集划分就会产生V个分支点,其中第v个分支点包含的D中所有在属性a上取值为a^v的样本记为Dv。计算Dv的信息熵考虑到不同的分支包含的样本数的不同给分支点赋予权重|Dv|/|D|。样本数越多的分支结点影响越大,计算公式为,

单纯的公式看着有点难理解可以看书中举例计算。

2)增益率:信息增益准则对可去值书目较多的属性有所偏好,造成泛化能力不足,为了减少这种影响,C4.5决策树算法不直接使用信息熵而是使用增益率


IV是属性a的固有值,属性a的取值书目愈多IV值通常越大,信息增益率对取值数较少的属性有所偏好。

3)基尼指数:CART决策树使用基尼指数来选则划分属性,简单来说就是随机抓取两个样本,这俩样本不是同一类的概率,因此越小越好表示数据集的纯度越高。


拟合处理:算法通过回归处理分类问题常常会遇到过拟合与欠拟合的情况,决策树在处理此问题的时候有两种思路,一种是预剪枝一种是后剪枝。预剪枝就是在分支个数的时候就先判断一下是否要进行分支,寻要通过验证判断,但减少了决策树的训练开销和测试时间。后剪枝就是在生成决策树以后再由底向上的判断这个分支是否需要保留。一般来说、后剪枝的效果好,但是花费的时间要多。

样本属性值缺失集属性值连续处理:1)连续值处理:连续属性的离散化技术在此时派上了用场,连续值区间离散化,考察划分点。与离散值不同,若当前划分属性为连续属性值,该属性值还可以作为其后代节点的划分属性。2)缺失值处理:这种情况下解决两个问题(1)如何在属性缺失值的情况下进行划分属性选择,(2)给定划分属性若样本在该属性上的值缺失如何对样本进行划分。在属性值缺失的情况下那就用没有缺失的样本进行计算最后乘以权重作为整体样本的信息值。书例中样本17,属性不确实的是14个那么用有属性的14个样本计算信息熵,最后用权重14/17乘以14个样本的信息熵做个整体的信息熵。对于问题2若样本x在划分属性a上的取值已知,则将x划入与其值对应的字节点,且样本权值在字节点中保存为Wx,如样本x在划分属性a上的取值未知,则将x同时划入所有子节点。且样本权值在与属性a^v对应的字节点进行调整,直观的将就是让同一个样本以不同的概率划入到不同的子节点中去。



    

发布了105 篇原创文章 · 获赞 86 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/dingyahui123/article/details/77480539