随机森林、XGBoost

目录

一、树的集成:

1.单一决策树模型的缺陷:

使用单个决策树的缺点是该决策树可能会对数据中的微小变化高度敏感

如上图所示,仅仅改变数据集中的一个样本,会导致决策树模型根结点选取不同的特征,从而产生一棵完全不同的树,这使得该模型缺乏健壮性

2.什么是树的集成:

利用单一决策树的缺陷,通过改变数据集来训练多棵不同的决策树模型 ,将多个决策树模型进行集成作为最终模型。在预测阶段将特征同时输入多棵决策树中,最终预测结果由多棵决策树投票决定。

具体算法如下:

3.树的集成中如何构建多个训练集:

为了集成树,需要训练多个决策树模型。通过构建多个训练集来训练多个不同的决策树模型。

对于原始训练集,采用有放回随机抽样 的方式来构建多个训练集,其中每个训练集中样本的数目与原始训练集相同

二、树的集成优化:随机森林:

随机对树的集成中结点的特征选择方式进行了改进,具体来说

相比于上述算法,随机森林注意到了如果构建的训练集过于相似有可能造成两棵决策树相同,为了避免这种情况,随机森林进行了如下改动来进一步随机化使得每棵决策树之间彼此不同,进而得到更加精确的模型:

即在决策树训练过程中结点的特征选择时增加了随机化属性,原来可以在所有特征中计算信息增益选择最终特征,现在只能在随机选取的k个特征中计算信息增益选择最终特征。

三、树的集成优化:XGBoost:

XGBoost对树的集成中训练集的构建方式进行了改进,具体来说:

在XGBoost中,每次训练新的决策树时,会结合之前已经训练好的所有决策树的预测结果(将原始训练集依次输入之前训练好的所有决策树中执行预测),记录各个决策树预测失败的样本。新的决策树在选取样本组成训练集的时候会有更高的概率选中那些之前决策树预测失败的样本。

相关推荐
CoovallyAIHub25 分钟前
Pipecat:构建实时语音 AI Agent 的开源编排框架,500ms 级端到端延迟
深度学习·算法·计算机视觉
灰色小旋风29 分钟前
力扣13 罗马数字转整数
数据结构·c++·算法·leetcode
2301_8101609533 分钟前
C++与物联网开发
开发语言·c++·算法
cm65432037 分钟前
基于C++的操作系统开发
开发语言·c++·算法
ArturiaZ40 分钟前
【day57】
开发语言·c++·算法
CoovallyAIHub41 分钟前
Energies | 8版YOLO对8版Transformer实测光伏缺陷检测,RF-DETR-Small综合胜出
深度学习·算法·计算机视觉
Emberone1 小时前
排序:万物皆有序
算法·排序算法
其实秋天的枫1 小时前
2025年12月英语六级真题及答案解析完整版(第一、二、三套全PDF)
经验分享·算法
2401_874732531 小时前
C++并发编程中的死锁避免
开发语言·c++·算法
2301_792308251 小时前
C++编译期数学计算
开发语言·c++·算法