决策树--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、优化求解

相关推荐
明朝百晓生1 分钟前
强化学习[chapter8] [page17] Value Function Methods
人工智能·算法
POLITE313 分钟前
Leetcode 56.合并区间 JavaScript (Day 6)
算法·leetcode·职场和发展
历程里程碑29 分钟前
滑动窗口秒解LeetCode字母异位词
java·c语言·开发语言·数据结构·c++·算法·leetcode
ghie909042 分钟前
使用直接节点积分法进行无网格法2D悬臂梁计算
算法
Helibo441 小时前
2025年12月gesp3级题解
数据结构·c++·算法
p&f°1 小时前
垃圾回收两种算法
java·jvm·算法
点云SLAM1 小时前
点云配准算法之- GICP算法点云配准概率模型推导和最大似然求解(MLE)
算法·机器人·slam·点云配准·最大似然估计·点云数据处理·gicp算法
曹轲恒1 小时前
双栈实现队列/双队列实现栈
算法
AI科技星1 小时前
张祥前统一场论电荷定义方程分析报告
开发语言·经验分享·线性代数·算法·数学建模
Swift社区1 小时前
LeetCode 460 - LFU 缓存
算法·leetcode·缓存