决策树--CART回归树算法详解

1、介绍

(1)简介

CART(Classification and Regression Trees)回归树是一种基于决策树的机器学习算法,用于预

测连续型目标变量而不是离散型类别变量。

(2)生成过程

① 选择一个特征和相应的切分点,将数据集分为两个子集。

② 对每个子集递归地重复步骤1,直到满足停止条件。

③ 当达到停止条件时,叶节点的值可以是子集中目标变量的均值或其他统计量。

(3)示意图

(4)特点

① 每个叶子节点,都会输出一个预测值。

② 预测值一般是该叶子【所含训练样本】【在该节点上的输出】的【均值】。

(5)回归树模型可表示为:

2、树如何构建?

根据树的生成过程,可以引出如下三个问题:① 特征和相应的切分点如何选择?②停止条件如何

确定?③ 叶子节点的值代表什么?

(1)划分节点如何选取--平方误差最小

不同的节点划分条件,对应着不同的树,也就对应着不同的损失,我们从中选取使得损失最小的树即可。举例如下:初始划分点选择身高<145,左子树划分点选择年龄<13,右子树划分点选择体重<47.5。

①初始划分点选择:从年龄15、身高145和体重42.5中随机选择一个。

② 左子树划分点选择:由于算出的损失值相等,从以下随机选择一个。

③ 右子树划分点选择:由于算出的损失值相等,从以下随机选择一个。

(2)树的深度如何决定

① 确定叶子节点个数或者树的深度

② 子节点所包含的样本数(可以设置子节点小于2或者3,停止划分)

③ 给定精度

(3)叶子节点的值Cm如何定--取该节点所有样本yi的平均值。

3、损失函数

4、优化求解

相关推荐
钓鱼的肝6 小时前
csp-j-s总结(4)
c++·经验分享·笔记·算法
橘子汽水1687 小时前
Leetcode 763,45 划分字母区间 跳跃游戏II
数据结构·算法·leetcode
天天喝旺仔7 小时前
Git 内部原理深度解析:从 blob/tree/commit 对象到 packfile 与垃圾回收
数据结构·数据库·git·算法·哈希
AIGCmagic社区7 小时前
KITTI AbsRel从6.5压到5.4,Marigold V2用一张32GB卡把编辑DiT收成单步深度估计
人工智能·算法·aigc·ai多模态
青少儿编程课堂7 小时前
多源最短路与最小环(Floyd 算法图论解析)
c++·python·算法·bfs·信息学竞赛
6Hzlia8 小时前
【Classic 150 刷题计划】 LeetCode 228. 汇总区间 | C++ 锚点游标与断点检测法
c++·算法·leetcode
Edward The Bunny8 小时前
Leetcode Hot 100
数据结构·算法
hans汉斯8 小时前
数据挖掘|基于BP神经网络的少数民族村寨文化型旅游体验产品潜在游客挖掘
深度学习·神经网络·算法·yolo·软件工程·bp·汉斯出版社
v_348360876217 小时前
Android native端 堆栈打印
android·算法
residual_fan17 小时前
【学术论文】航空发动机故障诊断智能体:基于持续对比强化学习的动态优化方法
人工智能·算法·数据挖掘·数据分析