机器学习----决策树

一、决策树简介

from sklearn.tree import DecisionTreeClassifier

from sklearn.tree import plot_tree

决策树是一种树形结构,树中每个内部节点表示一个特征上的判断,每个分支代表一个判断结果的输出,每个叶子节点代表一种分类结果。

决策树的建立过程(三要素):

1.特征选择:选择较强分类能力的特征;

2.决策树的生成:根据选择的特征生成决策树;

3.决策树的剪枝:决策树也容易过拟合,采用剪枝的方法缓解过拟合。

二、信息熵

"信息熵":是信息论中的一个核心概念,它本质上是对不确定性或信息量的度量。

信息熵越大,信息的不确定性越大,信息的纯度越低,分类的效果越差;

信息熵越小,信息的不确定性越小,信息的纯度越高,分类的效果越好。

其中表示数据中类别出现的概率,表示数据的信息熵,单位是比特。

三、ID3决策树

1.特征选择

信息增益:g(D,A)=H(D)-H(D|A),信息增益 = 熵 - 条件熵

条件熵:子集1占比*子集1的熵作为子集1的结果,然后对所有计算结果求和。

2.决策树的生成

①计算每个特征的信息增益

②使用信息增益最大的特征将数据集拆分为子集

③使用该特征(信息增益最大的特征)作为决策树的一个节点

④若该节点已成功分类(节点中只有一个类的样本)或该节点达到停止生长条件,则停止生长,否则使用剩余特征对子集重复上述(1,2,3)过程。

3.不足

基于信息增益计算的方式,会偏向于选择种类多的特征作为分裂依据。

四、C4.5决策树

1.特征选择

信息增益率:信息增益率=信息增益/特征熵。

特征熵(也称惩罚系数):(特征子集1的占比*(特征子集1的占比))

2.决策树的生成

类似ID3,只是调整为基于信息增益率进行特征选择,选择增益率大的特征作为分裂依据。

五、CART决策树

Cart模型是一种决策树模型,它即可以用于分类,也可以用于回归。

Cart回归树使用平方误差最小化策略,

Cart分类生成树采用的基尼指数最小化策略。

1.Cart分类树

特征选择:基尼值:

基尼系数:

决策树的生成:类似ID3,调整为基于基尼系数进行特征选择。

2.Cart回归树

特征选择:最小化回归树预测结果的平方误差。

决策树的生成:1.选择一个特征,将该特征的值进行排序,取相邻点计算均值作为待划分点
2.根据所有划分点,将数据集分成两部分:R1、R2
3.R1 和 R2 两部分的平方损失相加作为该切分点平方损失
4.取最小的平方损失的划分点,作为当前特征的划分点
5.以此计算其他特征的最优划分点、以及该划分点对应的损失值
6.在所有的特征的划分点中,选择出最小平方损失的划分点,作为当前树的分裂点

六、三种决策树的对比

1.ID3:分支方式(指标)是信息增益

特点:①ID3只能对离散属性的数据集构成决策树

②倾向于选择取值较多的属性

2.C4.5:分支方式(指标)是信息增益率

特点:①缓解了ID3分支过程中总喜欢偏向选择值较多的属性

②可处理连续数值型属性,也增加了对缺失值的处理方法

③只适合于能够驻留于内存的数据集,大数据集无能为力

3.CART:分支方式(指标)是基尼指数

特点:①可以进行分类和回归,可以处理离散属性,也可以处理连续属性

②采用基尼指数,计算量减小

③一定是二叉树

七、剪枝

概念:决策树剪枝(Pruning)是防止决策树过拟合、提高模型泛化能力的关键技术。

问题:当决策树生长得太深、分支太多时,它会过度拟合训练数据中的噪声和细节,导致在未知数据上表现很差。

方案:剪枝通过移除对整体预测贡献不大或可能导致过拟合的部分子树或节点来解决这个问题。

什么是决策树的剪枝:把子树的节点全部删掉,并将该节点作为叶子节点。

决策树剪枝方法:1.预剪枝:在树生长过程中提前停止分裂,比如提前限制树的最大深度(优点:计算效率高,训练快;缺点:可能过早停止,错过重要模式);

2.后剪枝:先让树完全生长,再自底向上修剪子树(优点:保留更多有效结构,泛化性能通常更好;缺点:计算开销大)。

相关推荐
索迪迈科技2 分钟前
安防芯片 ISP 的白平衡统计数据对图像质量有哪些影响?
人工智能·计算机视觉·白平衡
AiTop10012 分钟前
腾讯推出AI CLI工具CodeBuddy,国内首家同时支持插件、IDE和CLI三种形态的AI编程工具厂商
ide·人工智能·ai·aigc·ai编程
非门由也39 分钟前
《sklearn机器学习——回归指标2》
机器学习·回归·sklearn
山楂树下懒猴子1 小时前
ChatAI项目-ChatGPT-SDK组件工程
人工智能·chatgpt·junit·https·log4j·intellij-idea·mybatis
Learn Beyond Limits1 小时前
The learning process of Decision Tree Model|决策树模型学习过程
人工智能·深度学习·神经网络·学习·决策树·机器学习·ai
AI360labs_atyun1 小时前
2025世界智博会,揭幕AI触手可及的科幻生活
人工智能·ai·音视频·生活
数据爬坡ing1 小时前
从挑西瓜到树回归:用生活智慧理解机器学习算法
数据结构·深度学习·算法·决策树·机器学习
luoganttcc1 小时前
小鹏汽车 vla 算法最新进展和模型结构细节
人工智能·算法·汽车
算家计算1 小时前
面壁智能开源多模态大模型——MiniCPM-V 4.5本地部署教程:8B参数开启多模态“高刷”时代!
人工智能·开源
居然JuRan1 小时前
从零开始学大模型之大语言模型
人工智能