决策树学习

决策树

基本思想:根据评估划分效果的一种标准,在某个属性上进行划分,最终形成一颗树。该叶子节点即为属于某个类。

根据评估标准分为两类,一类是基于熵的,一类是基于基尼系数的。基于熵的有两个代表的算法ID3,C4.5。基于基尼系数的是cart算法

首先介绍熵的概念,一种混乱程度的评估标准,一组数据,类的种类越少,证明混乱程度低,越纯,因此切分的标准就是熵变低,哪个属性切分后变低的越多,就用哪个属性进行切分。

ID3算法

使用熵值得变化来衡量切分属性的好坏,命名熵值得变化为信息增益,即划分前和划分后的熵值差值。ID3算法有四个缺点,第一个是不能处理连续数据,第二个是没有考虑缺失值得情况,第三个是没有考虑过拟合的情况,第四个是使用的信息增益,有一定的确定,若属性分的种类多的情况较属性分的少的情况信息增益。比如一种极端的情况,属性a是id值,其可以把所有的数据都看成一个类,这样通过属性a分开后的数据的熵值为0,信息增益为最大,但是a这个属性和最后的结果并没有什么必然的联系,因此使用该属性划分不好。

C4.5算法

主要解决ID3算法四个不足

第一个不能处理连续数据

将所有样本的连续数据排序,取两两样本之间的平均值来进行划分,划分完毕后的该属性在左右子树依然能划分

第二个问题处理缺失值

https://blog.csdn.net/leaf_zizi/article/details/83503167

第三个问题是过拟合

过拟合引入了加入正则化项的剪枝技术,在cart中做详细的解释

第四个问题是信息增益偏向于特征分类多的

使用信息增益比来表示划分节点的好坏情况,信息增益比是信息增益比上特征熵,特征熵是根据属性划分的个数,每个划分后的数量比上原来数量的熵值和来表示的

cart

cart使用基尼系数进行划分,基尼系数表示不纯度,越小越好,且cart是二叉树。

cart处理离散数据和连续数据,处理连续数据和C4.5一致,处理离散数据的时候,二分每次只根据一个属性进行划分。

建立分类树

停止的条件

1.没有特征,数量小于阈值

2.基尼系数小于阈值

3.层数大于阈值

预测的类是,叶子节点中概率大的分类的类别

建立回归树

回归树预测的结果是连续值,分类树是离散值,然后处理连续属性的方式不一样,最后预测结果方式也不一样

连续数据,主要是两个点,一个是划分特征,一个是划分值,划分特征预选定后,划分值左右两边是求得各自与均方误差。根据基尼系数找到最好的划分特征和划分点后,如何预测?根据叶子节点的均值或者中位数代表最后回归的结果值。

剪枝

后剪枝

CART树的剪枝算法可以概括为两步,第一步是从原始决策树生成各种剪枝效果的决策树,第二部是用交叉验证来检验剪枝后的预测能力,选择泛化预测能力最好的剪枝后的数作为最终的CART树。

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