手撕算法_决策树

基本概念

在这里插入图片描述

特征选择

1.信息增益
信息增益以熵为依据选择特征。用熵来度量信息的随机性或者不确定性,熵值越大,信息的不确定性就越大。
熵的计算公式为:
在这里插入图片描述
以下面的数据为示例:
在这里插入图片描述
样本标签共有两个(是否逾期),则其熵值为:0.2873在这里插入图片描述
如果选择特征“是否拥有房产”,则熵值为:0.1827
在这里插入图片描述
计算方式:每个“是否拥有房产”的分类中分别计算其熵值,最后做和。
熵值变小,说明使用该特征做决策是好于不用该特征的。
在该节点使用哪个特征,就是比较各个特征的熵值,选择最小的。
信息增益=旧的熵值-新的熵值
ID3算法是无法处理连续型特征的,C4.5和CART做了改进,可以处理。

2.信息增益比

信息增益存在一个缺点,因为ID3会倾向于选择分类数量多的特征。为了弥补这个确定,推出了信息增益比。
信息增益比的公式为:
在这里插入图片描述
即信息增益/该特征的熵。(该特征的熵H(X)计算方式与本文的第一张公式图片H(Y)的计算方式一样)

3.基尼指数

基尼指数指示数据的不纯度,类似于熵值。Gini=0表示完全相等,Gini=1表示完全不相等。
基尼指数的计算公式为:
在这里插入图片描述
其中Pk表示第k个分类占全局的比例。
在某个特征的作用下,基尼指数的计算公式为:
在这里插入图片描述
加权做和,权值=比例。

4.均方误差

若使用CART进行回归,则可以使用均方误差进行特征的选择和划分。

决策树的生成

1.ID3算法
算法流程图如下:
在这里插入图片描述

## 2.C4.5算法
C4.5算法相当于ID3_plus,改进了ID3算法的一些缺点。
改进1:
使用信息增益比代替信息增益。
改进2:
C4.5将连续型特征离散化(特征分桶),这样就可以处理数值型特征了,但是依然不能进行回归。
改进3:
C4.5引入了正则化系数进行初步的剪枝,防止过拟合。

3.CART算法
CART算法是ID3和C4.5的改进,改进幅度较大。
改进1:
使用基尼指数代替信息增益比。主要原因是信息征集计算时的log运算耗时较长,同时基尼指数基本可以达到熵值的近似作用。
改进2:
CART每次划分时树枝时,只划分两个树杈,防止信息浪费。
改进3:
对待回归问题,使用均方误差等metrics代替信息增益比,解决了特征选择问题。 叶子节点的均值作为回归值。

CART算法应用于分类问题时,流程图与ID3/C4.5类似。
CART应用于回归问题时,流程图也与ID3/C4.5类似,只是划分标准更改为连续型变量的某个分界点,和Metric存在差别。

决策树的剪枝

1.预剪枝
在生成树的时候,增加判定标准,一旦符合标准,就不进行分叉。常用的方法有:
①限定树的深度。
②节点样本数量小于阈值
③新增该节点所带来的指标提升小于阈值。
特点,效果太明显,容易欠拟合!
2.后剪枝
剪枝处理

决策树算法的优点:

1.小屁孩都能看懂。
2.类别特征&连续型特征doublekill,线性Or非线性doublekill。
3.单个决策树容易被掰断,但是多颗决策树你试试。
4.模型训练好后,预测速度嗷嗷快。

决策树的缺点

1.关联性较强的特征,效果不好.
2.对噪声比较敏感,但是可以通过剪枝处理。

猜你喜欢

转载自blog.csdn.net/weixin_44414593/article/details/107378161
今日推荐