【机器学习】——决策树以及随机森林

文章目录

  • 1. 决策树的基本概念与结构
    • 1.1 决策树的构建过程
  • 2. 决策树的划分标准
    • 2.1 信息增益(Information Gain)
    • 2.2 信息增益比(Information Gain Ratio)
    • 2.3 基尼指数(Gini Index)
    • 2.4 均方误差(Mean Squared Error, MSE)
  • 3. 决策树的停止条件与剪枝策略
    • 3.1 停止条件
    • 3.2 剪枝策略
    • 3.3 剪枝策略的实现
  • 4. 决策树的优缺点分析
    • 4.1 优点
    • 4.2 缺点
  • 5. 决策树算法的改进与集成方法
    • 5.1 随机森林(Random Forest)
    • 5.2 提升树(Boosting Tree)
    • 5.3 XGBoost 和 LightGBM
    • 5.4 CatBoost
  • 6. 决策树模型的调参策略
    • 6.1 树深度(max_depth)
    • 6.2 最小样本分裂数(min_samples_split)
    • 6.3 最小样本叶子数(min_samples_leaf)
    • 6.4 分裂准则(criterion)
    • 6.5 最大特征数(max_features)
    • 6.6 树剪枝参数(ccp_alpha)
  • 7. 决策树模型的实际应用
    • 7.1 医疗诊断
    • 7.2 客户分群与信用风险评估
    • 7.3 营销决策
    • 7.4 欺诈检测
  • 8. 经典案例分析
    • 8.1 泰坦尼克号生还预测
    • 8.2 房价预测
  • 9. 决策树在工业界的应用与发展前景
    • 9.1 决策树的发展前景

前言:决策树算法(Decision Tree)详解
决策树(DecisionTree)是一种基于树形结构的监督学习算法,广泛应用于分类和回归任务。它通过一系列的决策规则逐步将数据集划分成多个子集,从而构建出易于理解的决策模型。决策树不仅易于可视化、便于解释,还能够处理复杂的多变量决策问题,因此在各类机器学习模型中占有重要地位。

1. 决策树的基本概念与结构

决策树算法的核心是一个树形结构,由多个**节点(Node)和分支(Branch)**组成。根据节点的类型,决策树的结构可以分为三种基本元素:

1.根节点(Root Node):表示整个数据集的初始状态,是树的起始点。根节点基于某个特征(属性)将数据分为不同的子节点。

2.内部节点(Internal Node):每个内部节点表示一个决策点,即通过某个特征将数据进一步细分。每个内部节点可以有多个子节点(分支)。

3.叶节点(Leaf Node):叶节点是决策树的终点,表示最终的决策或分类结果。每个叶节点通常表示某个类别或一个连续值(回归问题)。

决策树的生成过程就是不断通过特征选择和数据划分,直到满足某个停止条件(如到达叶节点或没有可分的特征)。

1.1 决策树的构建过程

决策树的构建过程主要分为以下几个步骤:

1.特征选择(Feature Selection):在每一步划分时,选择一个最佳特征作为决策依据,进行数据划分。

2.节点分裂(Node Splitting):根据选择的特征,利用不同的分裂准则将当前节点的数据集划分成若干子集。

3.递归分裂(Recursive Splitting):对每个子集递归执行特征选择与节点分裂操作,直到满足停止条件。

4.树剪枝(Tree Pruning):为了避免决策树过拟合(Overfitting),需要对生成的决策树进行简化,去除多余的分支节点。

2. 决策树的划分标准

决策树在每次划分时需要选择一个“最佳”的特征,该特征能够最大程度上提高数据的区分度。常见的划分标准包括信息增益、信息增益比、基尼指数和均方误差等。

2.1 信息增益(Information Gain)

信息增益用于衡量某个特征在划分数据集时带来的信息不确定性减少的程度。其定义基于**熵(Entropy)**的概念:

熵表示数据集的混乱度或不确定性程度。对于一个分类问题,数据集
D 的熵定义为:
在这里插入图片描述
其中,𝑝𝑖表示第 𝑖 类别在数据集中的比例,𝑘 是类别的总数。
当使用特征 𝐴 对数据集 𝐷 进行划分时,特征 𝐴 的信息增益 Gain(D,A) 计算如下:
在这里插入图片描述
其中,
𝐷𝑣是特征 𝐴的第 𝑣 个取值对应的子集,∣𝐷𝑣∣ 表示该子集的样本数,∣𝐷∣表示原始数据集的样本总数。
信息增益越大,说明该特征能够更好地划分数据集。

2.2 信息增益比(Information Gain Ratio)

由于信息增益偏向于选择取值较多的特征,因此引入信息增益比来消除这一偏差。其定义如下:
在这里插入图片描述
其中,分裂信息(Split Information)定义为:
在这里插入图片描述
信息增益比选择的是增益比值最大的特征进行划分。

2.3 基尼指数(Gini Index)

基尼指数主要用于分类树(Classification Tree)中。其衡量某个数据集的纯度,定义如下:
在这里插入图片描述
基尼指数越小,表示数据集的纯度越高。对于特征 𝐴 的划分,基尼指数的计算如下:
在这里插入图片描述
基尼指数越小,说明特征 𝐴 划分后数据集的纯度越高。

2.4 均方误差(Mean Squared Error, MSE)

在**回归树(Regression Tree)**中,使用均方误差来衡量数据点偏离均值的程度。对于数据集 𝐷 中的目标值 𝑦𝑖 ,均方误差定义为:
在这里插入图片描述
其中,𝑦^ 是数据集的平均值。

3. 决策树的停止条件与剪枝策略

在构建决策树时,若不设定停止条件,决策树可能会继续分裂,直到每个叶节点只包含一个数据点或所有数据点都属于同一类别。这种情况容易导致过拟合。为了防止过拟合,决策树通常需要设置以下停止条件或进行剪枝。

3.1 停止条件

1.当前节点的所有样本都属于同一类别。
2.样本特征已经全部使用完,且无法进一步划分。
3.当前节点的样本数低于设定的最小样本数。
4.当前节点的熵或基尼指数低于某个阈值。

3.2 剪枝策略

剪枝策略可以分为预剪枝(Pre-Pruning)和后剪枝(Post-Pruning):

1.预剪枝(Pre-Pruning):在构建过程中提前停止树的生长,如限制树的最大深度、最小样本数等。虽然能减少计算量,但可能造成欠拟合。

2.后剪枝(Post-Pruning):在决策树完全生长后,通过剪去一些不重要的节点(或子树)来简化模型。常用的方法包括代价复杂度剪枝(Cost Complexity Pruning)和最小误差剪枝(Minimum Error Pruning)。

3.3 剪枝策略的实现

代价复杂度剪枝: 定义一个代价复杂度函数 C(T)= R(T)+ α(T)其中 R(T) 表示树 T 的误差率,∣T∣ 是叶节点的数量,𝛼 是控制树复杂度的超参数。通过选择最小的 C(T) 剪去代价最高的子树。

4. 决策树的优缺点分析

4.1 优点

1.易于理解和解释:决策树能够以可视化的方式表示,并能直接从树中提取决策规则。
2.不需要特征标准化:决策树对特征的取值范围不敏感,可以直接处理数值型和类别型特征。
3.处理缺失值:决策树可以处理缺失值,并能生成替代路径。

4.2 缺点

1.容易过拟合:当决策树过于复杂时,模型容易对训练数据产生过拟合,导致对新数据泛化能力差。
2.对噪声敏感:数据中的少量噪声或异常点可能会对树结构产生较大影响。
偏向取值较多的特征:决策树在选择特征时,可能偏向选择取值较多的特

5. 决策树算法的改进与集成方法

为了克服传统决策树的局限性,研究人员提出了多种改进和集成方法,如随机森林(Random Forest)、**提升树(Boosting Tree)和梯度提升决策树(Gradient Boosting Decision Tree, GBDT)**等。这些集成方法通过构建多个弱决策树模型并将其组合,大大提升了模型的稳定性和预测能力。

5.1 随机森林(Random Forest)

随机森林是一种基于**袋装法(Bagging)**的集成学习方法。它通过构建多个相互独立的决策树并对其结果进行投票(分类问题)或平均(回归问题)来得到最终的预测结果。与单一决策树相比,随机森林具有以下优点:

1.减少过拟合风险:随机森林通过随机采样和特征选择,降低了单一决策树对噪声和异常点的敏感性,从而减小了过拟合的风险。

2.提高模型鲁棒性:每棵树都是独立训练的,模型对单个特征的依赖性较低,鲁棒性较强。

3.重要特征度量:随机森林能够输出特征重要性度量指标,便于选择和优化特征。

5.2 提升树(Boosting Tree)

提升树是一种基于**提升法(Boosting)**的集成学习方法。与袋装法不同,提升法是通过训练多个弱学习器(如决策树),每个学习器都尝试修正前一个学习器的错误,从而逐步提升模型性能。典型的提升树算法包括:

1.AdaBoost:通过分配权重来调整每个样本的重要性,重点关注被前一轮分类错误的样本,从而构建一个综合的强分类器。

2.梯度提升决策树(GBDT):GBDT通过在每一步迭代中最小化损失函数(如平方误差、对数损失等),逐步提高模型预测能力。GBDT具有较高的准确性,常用于回归和分类问题。

5.3 XGBoost 和 LightGBM

1.XGBoost:是GBDT的改进版本,通过引入正则化项、防止过拟合和高效的并行计算等技术,提升了训练速度和模型性能。

2.LightGBM:LightGBM通过基于直方图的高效分裂策略,在处理大规模数据时比XGBoost更快,且能够处理类别特征和缺失值。

5.4 CatBoost

CatBoost 是Yandex推出的一种专门处理类别特征的提升树模型。它引入了目标编码(Target Encoding)和随机排列的方式来降低类别特征导致的过拟合问题,常用于复杂的分类任务。征,从而导致模型的不稳定性。

6. 决策树模型的调参策略

决策树模型有多个超参数,如树的深度、最小样本数、分裂准则等。合理调参能够有效提升模型性能。常用的调参策略如下:

6.1 树深度(max_depth)

含义:限制决策树的最大深度,防止树过深导致过拟合。
调参策略:在较大的深度范围内进行网格搜索或交叉验证,找到使模型性能最优的深度。

6.2 最小样本分裂数(min_samples_split)

含义:设置每次分裂时节点中需要的最小样本数。较大的样本数会导致树更为精简,降低过拟合风险。
调参策略:根据数据集大小进行调节,通常设置为 2 到 20 之间。

6.3 最小样本叶子数(min_samples_leaf)

含义:设置叶节点中需要的最小样本数,避免生成过小的叶子节点,从而提升泛化能力。
调参策略:该参数通常设置为 1 到 10 之间,叶子数越大,模型越简单。

6.4 分裂准则(criterion)

含义:指定特征选择时的分裂准则。常用准则包括“基尼系数(gini)”和“信息增益(entropy)”。
调参策略:对于大多数分类任务,“基尼系数”通常表现较好,但对于一些平衡的分类问题,信息增益可能更合适。

6.5 最大特征数(max_features)

含义:每次分裂时使用的最大特征数,避免模型对某些特征过于依赖。
调参策略:设置为“auto”或“sqrt”常能提升性能,也可以根据实际特征数量调整。

6.6 树剪枝参数(ccp_alpha)

含义:用于控制决策树的复杂度,值越大表示剪枝力度越强。
调参策略:通过交叉验证找到最优的剪枝参数,防止模型过拟合。

7. 决策树模型的实际应用

7.1 医疗诊断

决策树广泛应用于医疗数据分析中,例如预测某种疾病的可能性。医生可以通过决策树的结构轻松理解诊断过程。

7.2 客户分群与信用风险评估

在金融领域,决策树用于客户分群和信用风险评估。银行可以利用决策树模型分析客户数据,确定客户是否具有良好的信用评分,从而决定是否放贷。

7.3 营销决策

决策树在市场营销中用于细分客户群体,帮助企业根据不同群体的特征制定相应的营销策略。通过分析客户的年龄、性别、购买历史等特征,决策树能够预测客户对某种产品的偏好。

7.4 欺诈检测

决策树能够快速识别数据中的异常模式,因此在信用卡欺诈检测中应用广泛。模型能够从交易数据中发现异常行为,并及时标记可疑的交易。

8. 经典案例分析

8.1 泰坦尼克号生还预测

在泰坦尼克号乘客数据集中,决策树可以根据乘客的年龄、性别、舱位等级等特征,预测乘客的生还概率。决策树通过一系列规则(如“性别为女性,则生还概率高”)来构建模型。

8.2 房价预测

在房价预测中,回归树可以根据房屋面积、位置、房龄等特征,将数据集划分成多个区域,并根据每个区域的均值预测房价。

9. 决策树在工业界的应用与发展前景

1.自动化决策系统:决策树可以帮助企业在客户服务、产品推荐等场景中实现自动化决策。

2.智能制造:在制造业中,决策树可以用来检测生产过程中的异常模式,从而提升生产效率。

3.个性化推荐系统:结合决策树的特征选择能力,能够为用户提供更精准的推荐方案。

9.1 决策树的发展前景

随着大数据和深度学习的发展,决策树作为一种传统的机器学习模型,依然在许多场景中具有不可替代的作用。未来,决策树将与深度学习模型相结合,形成更复杂的混合模型,从而在更多领域中发挥其优势。

通过以上详尽介绍,读者能够全面理解决策树算法的原理、应用及其优化方法,并能够在实际项目中灵活运用该模型来解决复杂问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1549420.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

HJ50-四则运算:栈的运用、中缀表达式转后缀表达式并计算结果

文章目录 题目一、分析1.1表达式预处理1.2中缀表达式转后缀1.3 后缀表达式计算结果 二、答案 题目 一、分析 通过利用栈将中缀表达式转换为后缀表达式,在根据后缀表达式计算运算结果。由于包含负数操作数的情况,并且操作数位数不固定为1,因此…

USB 3.1 标准 B 型连接器的接口定义与引脚分配

连接器 USB 3.1 规范定义了以下连接器: 超速标准 A 插头和插座;超速标准 B 插头和插座;超速 Micro B 插头和插座;超速 Micro A 插头;超速 Micro-AB 插座。 所有超速连接器具有相同的配合接口并且彼此兼容。 下表列…

腾讯云SDK购买流程

音视频终端 SDK 需购买对应 License/套餐获得使用授权,本文将对购买 License/套餐的操作进行详细指引。 您可首先参考计费概述 确认您需要购买的内容,随后参考本文进行购买。本文仅提供 SDK 授权费用所需资源的购买,如果您需要使用其他相关云…

锦天云中秋之夜团圆家宴圆满成功

2024年9月7日,锦天云(深圳)计算机设备有限公司 在中国深圳成功举办了“融创智合•月满锦天 锦天云中秋之夜团圆家宴。本次盛会吸引了来自各行业的精英和合作伙伴,大家齐聚一堂,共同庆祝这一传统佳节,此次活…

SPI驱动学习七(SPI_Slave_Mode驱动程序框架)

目录 一、SPI_Slave_Mode驱动程序框架1. Master和Slave模式差别1.1 主设备 (Master)1.2 从设备 (Slave)1.3 示例 2. SPI传输概述2.1 数据组织方式2.2 SPI控制器数据结构 3. SPI Slave Mode数据传输过程4. 如何编写程序4.1 设备树4.2 内核相关4.3 简单的示例代码4.3.1 master和s…

K8S真正删除pod

假设k8s的某个命名空间如(default)有一个运行nginx 的pod,而这个pod是以kubectl run pod命令运行的 1.错误示范: kubectl delete pod nginx-2756690723-hllbp 结果显示这个pod 是删除了,但k8s很快自动创建新的pod,但是…

今日指数项目股票成交量对比功能

股票成交量对比功能 1. 股票成交量对比功能分析 1.1 模型示列 功能描述:统计A股大盘T日和T-1日成交量对比功能(成交量为沪深两市成交量之和) 1.2 接口示列 返回数据格式 服务路径:/api/quot/stock/tradeAmt 服务方法&#xf…

PCL uniform_sampling均匀采样抽稀

目录 一、概述二、代码三、结果 一、概述 均匀采样抽稀点云。 二、代码 uniform_sampling.cpp #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include <pcl/point_cloud.h> #include <pcl/keypoints/uniform_s…

[Admin] Things Need to Know

List View Bulk Actions Highlight: To take bulk actions on all of the available records in a list, you click the bulk action button without selecting any records.

利士策分享,攀登职场高峰:成功者的十大特质

利士策分享&#xff0c;攀登职场高峰&#xff1a;成功者的十大特质 在职场这个竞争激烈的舞台上&#xff0c;那些能够迅速崛起、实现职业辉煌的佼佼者&#xff0c;往往凭借一系列独特且鲜明的特质脱颖而出。以下是对这些特质的深入探讨&#xff1a; 第一章&#xff1a;高情商的…

怎么不用付费直接编辑pdf?5款pdf在线编辑器免费推荐给你!

在我们日常工作中&#xff0c;可能会经常需要直接编辑修改pdf内容&#xff0c;例如&#xff0c;在将文档发送给其它人之前&#xff0c;您可能需要进行一些修改&#xff1b;或者当扫描的文本出现错误时&#xff0c;您也需要进行修正。此时&#xff0c;如果有一款在线编辑器&…

黑神话悟空小西天

游戏里我们一开始就出现一个很可爱的小和尚&#xff0c;当脚步声传来&#xff0c;小和尚化身为一尊弥勒佛&#xff0c;而这尊弥勒佛的大小和位置都在说&#xff0c;这里没有弥勒佛的位置。 随后天命人进入一片雪地&#xff0c;遇到了赤尻马猴&#xff0c;打跑赤尻马猴&#xff…

从哪里下载高清解压视频素材?推荐五个优质素材资源网站

想制作吸引人的抖音小说推文&#xff0c;但不知道从哪里获取高清解压视频素材&#xff1f;今天就为大家推荐五个优秀的网站&#xff0c;帮助你轻松找到所需的素材&#xff0c;提升你的创作质量。 首先是蛙学网 作为国内顶级的短视频素材网站&#xff0c;蛙学网提供了丰富的4K高…

Transformer是不是BERT、GPT的妈?看完就知道了

Transformer变异衍生出来了两个超强悍的预训练模型 一、Transformer模型 Transformer是近年来深度学习领域中备受瞩目的模型之一&#xff0c;其核心思想是通过自注意力机制和位置编码来捕捉输入序列中的长距离依赖关系。 自注意力机制让模型在处理每个输入元素时能够关注到所有…

Proe 5.0资源百度网盘下载 附详细安装步骤

如大家所了解的&#xff0c;Proe又称作Pro/E&#xff0c;是比较常用的CAD/CAM/CAE软件之一&#xff0c;也是一款功能齐全的模具和产品设计三维的工具。 Proe在传统机械设计、家电设计以及模具设计方面&#xff0c;优势很突出。 首先&#xff0c;建模采用参数化设计&#xff0…

Qt/C++ 解决调用国密SM3,SM4加密解密字符串HEX,BASE64格式转换和PKCS5Padding字符串填充相关问题

项目中遇到了需要与JAVA WEB接口使用SM3,SM4加密数据对接的需求&#xff0c;于是简单了解了下SM3与SM4加密算法在C环境下的实现。并使用Qt/C还原了在线SM3国密加密工具和在线SM4国密加密解密工具网页的示例功能的实现 目录导读 前言SM3算法简介SM4算法简介 实现示例字符串HEX,B…

气膜影院:沉浸式观影体验的全新选择—轻空间

随着观影需求的不断提升&#xff0c;传统影院形式已经无法满足观众对更高沉浸感和视觉体验的追求。气膜影院作为一种新兴的观影场所&#xff0c;以其独特的球幕结构和先进的技术手段&#xff0c;为观众带来了全新的沉浸式视听体验。 全景沉浸式观影体验 气膜影院采用球幕设计&a…

Awcing 799. 最长连续不重复子序列

Awcing 799. 最长连续不重复子序列 解题思路: 让我们找到一个数组中&#xff0c;最长的 不包含重复的数 的连续区间的长度。 最优解是双指针算法&#xff1a; 我们用 c n t [ i ] cnt[i] cnt[i]记录 i i i 这个整数在区间内出现的次数。(因为每个数的大小为 1 0 5 10^5 105, …

赵长鹏今日获释,下一步会做什么?币安透露2024年加密货币牛市的投资策略!

中国时间2024年9月28日&#xff0c;加密货币行业的风云人物赵长鹏&#xff08;Changpeng Zhao&#xff0c;简称CZ&#xff09;终于从监狱获释。他因在担任币安首席执行官期间未能有效执行反洗钱(AML)计划而被判刑四个月。赵长鹏的获释引发了广泛关注&#xff0c;不仅因为他是全…

大语言模型知识点分享

1 目前主流的开源模型体系有哪些&#xff1f; Prefix Decoder 系列模型 核心点&#xff1a; 输入采用双向注意力机制&#xff0c;输出为单向注意力。双向注意力意味着输入的每个部分都可以关注到输入的所有其他部分&#xff0c;这在理解上下文时具有很强的优势。 代表模型&a…