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

相关推荐
用户938515635072 小时前
从 O(n²) 到 O(nlogn):一文读懂快速排序的“快”与“妙”
javascript·算法
To_OC3 小时前
手写快排次次翻车?别死背快排模板了,这才是面试官想听的底层逻辑
javascript·算法·排序算法
饼干哥哥4 小时前
Reddit VOC调研太慢?搭一个AI专家团队半小时洞察任何品类|以猫用饮水机为例
人工智能·算法·ai编程
地平线开发者5 小时前
Transformer模型部署之性能优化指南
算法
地平线开发者5 小时前
人在途中:从“编译失败”到“模型可落地”——CUDA 自定义算子
算法·自动驾驶
半个落月8 小时前
从递归到快速排序:用 JavaScript 把分治思想讲明白
javascript·算法·面试
小月土星9 小时前
JavaScript 快速排序:从 pivot、双指针到分治思想
javascript·算法·面试
小月土星9 小时前
JavaScript 递归入门:从 1 到 n 求和,再到数组扁平化
javascript·算法·面试
To_OC1 天前
LC 1 两数之和:面试第一道必考题,暴力解法直接被面试官 pass
javascript·算法·leetcode