机器学习3---决策树

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/aBIT_Tu/article/details/82345656

    决策树(decision tree)是一种典型的非线性分类算法。因为是针对于非数值型特征的决策,且决策过程都是按照树状结构进行,由此得名决策树。

    首先,非数值型特征是指非数值化的特征,如:名义特征(使用特定的名词描述某个物体)、序数特征(序号等,无实际意义的数值描述),无直接函数关系的数值特征(年龄、温度等)。

    决策树的定义是利用一定的训练样本,从数据中“”学习“”得到决策规则(建树的过程),然后根据决策规则对新样本进行决策(分类)。

一、建树

    决策树构建的过程就是选取特征和确定决策规则(生长、剪枝)的过程。

1. 选取特征

(1)ID3方法(交互式二分法):是最早的建树方法,主要采用香农熵(Shannon entropy)为判别依据。香农熵的公式如下:

I=-(P_{1}log_{2}P_{1}+P_{2}log_{2}P_{2}...+P_{k}log_{2}P_{k}) =-\sum_{i=1}^{k}P_{i}log_{2}P_{i},其中P代表了该事件属于每类的概率。

    若表示为某一个节点(特征)时,可以视为该节点(特征)对于样本分类的“不纯度”,实际应用中我们总是希望不纯度越低越好,并将不纯度的减少量称之为信息增益。

    例如,某一训练样本具有年龄、性别、收入三个非数值型特征量,当我们试图建立最有效的决策树时,常常希望每一次分叉后都最大的减少不纯度(增加类内纯度)。那么,依次计算三个特征对应的熵值,与上一级熵值作差运算,将信息增益最大的一个特征作为该级的节点。按照此规则使树生长,直到每一枝都达到叶子节点为止。

(2)C4.5算法(信息增益率):即使用信息增益的比例代替(1)中的差值运算,同时增加处理连续的数值特征功能。

(3)CART算法(分类和回归树算法):核心思想和上述两个一致,只是该树每个节点都采用二分法,最后构成了二叉树,应用较为广泛。

扫描二维码关注公众号,回复: 4068104 查看本文章

2. 剪枝

    过学习在上一章已经记录过了,欠学习我们可以继续使树生长,过学习就需要剪枝。剪枝分为两类,先剪枝和后剪枝。

(1)先剪枝:控制树的生长,即判定某些节点是否需要继续分支。常用的判定方法有三种,数据划分法(使用验证集上的错误率决定)、阈值法(信息增益值的阈值)、信息增益的统计显著性分析(卡方检验)。

(2)后剪枝:以回溯的方式,合并那些不会导致不纯度明显下降的同父叶子结点。

后剪枝的算法信息利用更为充分,但是计算代价较大,实际中常使用两者结合的方法。

二、决策

    决策树和神经网络分类器的形式相近,且都是在特征空间中进行决策过程,但是决策树是以顺序的方式应用分层结构决策函数,神经网络是以并行的方式利用一组软决策(非最终)。两者可以相互映射,且决策树的训练时间往往优于神经网络分类器。

代码我调一调就发上来

猜你喜欢

转载自blog.csdn.net/aBIT_Tu/article/details/82345656