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

相关推荐
KangkangLoveNLP1 分钟前
从Swish到SwiGLU:激活函数的进化与革命,qwen2.5应用的激活函数
人工智能·深度学习·神经网络·算法·机器学习·自然语言处理·cnn
奔跑的废柴2 分钟前
LeetCode 513. 找树左下角的值 java题解
java·算法·leetcode
Awesome Baron5 分钟前
LeetCode hot 100 每日一题(7)--3. 无重复字符的最长子串
算法·leetcode·职场和发展
SsummerC10 分钟前
【leetcode100】组合总和
数据结构·python·算法·leetcode
反方向的钟儿1 小时前
【数学建模】001
笔记·算法·数学建模
2401_827364566 小时前
迷宫【BFS+结构体\pair】
算法·宽度优先
Bruce Jue8 小时前
算法刷题--贪心算法
算法·贪心算法
慕容魏9 小时前
入门到入土,Java学习 day16(算法1)
java·学习·算法
认真的小羽❅9 小时前
动态规划详解(二):从暴力递归到动态规划的完整优化之路
java·算法·动态规划
LiDAR点云10 小时前
Matlab中快速查找元素索引号
数据结构·算法·matlab