机器学习之决策树

目录

一、结点

二、划分方法与三种决策树

2.1信息增益与ID3决策树

信息熵

信息增益

ID3决策树

2.2增益率与C4.5决策树

增益率

C4.5决策树

2.3基尼指数与CART决策树

基尼指数

CART决策树

2.4分类效果判断

三、剪枝

3.1预剪枝

3.2后剪枝

四、回归决策树

五、多变量决策树


决策树是机器学习分类算法中一个很经典的算法,基于if-else的思想分割数据,是一种树形的结构,每个内部结点表示一个属性上的判断,每个分支代表一个判断结果,每个叶结点代表一种分类结果。

经典判断西瓜好坏的决策树如下:

决策树流程如下:

决策树的生成是递归过程。导致递归返回的情况:

(1)当前结点包含的样本为同一类别

(2)当前属性集为空或者在所有属性上取值相同

(3)当前结点包含的样本集合为空

一、结点

1、根结点

包含样本全集

2、内部结点

每个结点对应一个属性测试

3、叶子结点

对应决策即分类结果;

从根结点到每个叶结点的路径对应一个判定测试序列

二、划分方法与三种决策树

在决策树中,每次需要选择合适的属性进行划分,使得划分得到的子树尽可能属于同一类别,即数据纯度尽可能的达到最大。

常用的选择属性的依据有:信息增益、增益率、基尼指数

对应三种不同的决策树:ID3决策树、C4.5决策树、CART决策树

2.1信息增益与ID3决策树

信息熵

信息熵:

指的是数据量的一致性,越趋近一致,熵越低。

信息熵定义为:

其中,表示D中第k类样本所占比例

D为样本集合

y是类别数

信息增益

信息增益公式为:

Gain(D,a)表示用属性a对样本D进行划分得到的信息增益

a有V个可能取值,使用a对D划分得到V个分支节点

表示第v个分支结点包含的D中所有在属性a上取值为的样本

信息增益越大,表明使用属性a划分获得的纯度提升越大

ID3决策树

ID3决策树即以信息增益为准则来选择划分属性。

信息增益准则对可取值数目较多的属性有偏重。

ID3只对离散属性的数据集构成决策树

2.2增益率与C4.5决策树

增益率

C4.5决策树使用增益率选择最优的划分属性。

增益率定义为

其中

IV(a)为属性a的固有值,属性a的可取值数目越多,则IV(a)越大。

增益率对可取值数目少的属性有偏好。

C4.5决策树

C4.5决策树中并不是直接选择增益率最大的 ,而是先找出信息增益高于平均水平的属性,再从中选择增益率最高的。

采用后剪枝的方法

规则简单

在构造决策树时,需要对数据集进行多次扫描和排序,导致算法效率低

2.3基尼指数与CART决策树

基尼指数

数据集的纯度可以用基尼值进行度量

Gini(D)反映了从D中随机抽取两个样本得到的类别不一样的概率。

Gini(D)越小,纯度越好

属性a的基尼指数为

CART决策树

可以选择基尼指数最小的属性进行划分;

可以进行分类和回归,可以处理离散属性或连续属性;

采用二叉树模型

2.4分类效果判断

根据分类得到的纯度

三、剪枝

剪枝是为了解决过拟合的问题。

过拟合是在训练时训练的"太好",使得模型非常符合训练集,但是在测试集中表现的不好。

可以去掉一些分支。

剪枝的策略有"预剪枝"和"后剪枝"两种

3.1预剪枝

预剪枝是在决策树生成的过程中,对结点在划分前先进行估计,若划分后决策树泛化性能不能提升,就不再进行划分,直接作为叶子结点。

泛化性能的提升与否可以使用验证集进行评估,即分别将前后两个决策树用验证集进行测试,看看两者划分的准确度哪个更高,选择更高的。

3.2后剪枝

后剪枝是从训练集生成一棵完整的决策树,然后自底向上对非叶结点进行评估,如果将该结点替换为叶子结点可以提升决策树的泛化性能,则将该结点替换Wie叶子节点。

四、回归决策树

回归决策树便于处理连续型数据。

选择属性进行划分时按照启发式的方法,对一个特征的取值进行遍历尝试,直到找到使得损失函数最小的取值,得到一个划分点。同时,对每一个特征都进行遍历,最终得到最优划分特征和取值。

五、多变量决策树

在多变量决策树中,非叶结点是对属性的线性组合进行测试

六、算法函数

python中决策树的函数为

class sklearn.tree.DecisionTreeClassifier

参数为

criterion(值可为'gini','entropy'即选择基尼指数或者信息增益)

min_samples_split(内部节点划分的最小样本数)

min_samples_leaf(叶子节点的最小样本数)

max_depth(决策树最大深度)

random_state(随机数种子)

相关推荐
桃花键神6 分钟前
AI可信论坛亮点:合合信息分享视觉内容安全技术前沿
人工智能
野蛮的大西瓜27 分钟前
开源呼叫中心中,如何将ASR与IVR菜单结合,实现动态的IVR交互
人工智能·机器人·自动化·音视频·信息与通信
CountingStars6191 小时前
目标检测常用评估指标(metrics)
人工智能·目标检测·目标跟踪
tangjunjun-owen1 小时前
第四节:GLM-4v-9b模型的tokenizer源码解读
人工智能·glm-4v-9b·多模态大模型教程
冰蓝蓝1 小时前
深度学习中的注意力机制:解锁智能模型的新视角
人工智能·深度学习
橙子小哥的代码世界1 小时前
【计算机视觉基础CV-图像分类】01- 从历史源头到深度时代:一文读懂计算机视觉的进化脉络、核心任务与产业蓝图
人工智能·计算机视觉
云云3212 小时前
怎么通过亚矩阵云手机实现营销?
大数据·服务器·安全·智能手机·矩阵
新加坡内哥谈技术2 小时前
苏黎世联邦理工学院与加州大学伯克利分校推出MaxInfoRL:平衡内在与外在探索的全新强化学习框架
大数据·人工智能·语言模型
Data-Miner2 小时前
经典案例PPT | 大型水果连锁集团新零售数字化建设方案
大数据·big data
fanstuck2 小时前
Prompt提示工程上手指南(七)Prompt编写实战-基于智能客服问答系统下的Prompt编写
人工智能·数据挖掘·openai