回归决策树的构建

简介: 如何构建回归决策树

回归决策树是一种决策树模型,顾名思义,它用于解决回归问题,即预测连续数值型的输出变量。它基于树状结构,通过一系列内部节点、分支和叶节点来建立数据特征与输出值之间的非线性关系。在构建回归决策树的过程中,数据集被递归地分割,每个节点根据一个或多个特征的值做出判断,将数据集划分为子集,直到达到叶节点。叶节点存储一个特定的预测值,代表在经过该节点路径的所有特征测试后,输入数据所对应的输出变量的预期值。

构建

数据预处理

数据清洗:去除无效、缺失或异常的数据,对缺失值进行适当填充(如使用平均值、中位数等)或删除包含缺失值的样本。

特征编码:如果数据集中存在非数值型特征(如类别特征、文本特征等),可能需要进行编码转换,如独热编码、标签编码等,将其转化为数值形式以便模型处理。

数据标准化或归一化:尽管回归决策树对数据的尺度相对不敏感,但在某些情况下,对特征进行标准化(减均值除以标准差)或归一化(缩放到[0, 1]区间)可以提升模型训练的稳定性。

树的生成

初始化:创建一个根节点,其包含整个训练数据集。

递归划分:从根节点开始,对于每个内部节点(非叶节点)执行以下操作:

  • 选择最优特征与分割点:计算所有候选特征及其可能分割点对应的指标(如最小平方误差、均方根误差等),选择使指标最优的特征及其分割点。
  • 数据分割:按照选定特征与分割点将当前节点的数据集划分为两个子集,一个大于分割点,一个小于等于(分割点也许是中位数,也许是平均数,也许直接遍历每一个可能的分割点)将当前节点的数据集划分为两个或多个子集,分别对应新的子节点。
    因此,在分割数据时需要排序数据,以便选择最优的分割点。
  • 递归:对每个子节点重复以上过程,直到达到预定义的停止条件。
    常见的停止条件包括:

节点包含的样本数:当节点内样本数量小于设定阈值时停止继续划分。
节点内方差:当节点内数据的方差低于某个阈值,表明数据已经足够纯,无需再划分。
树的最大深度:设定树的最大深度限制,防止过拟合。
其他复杂度指标:如限制叶子节点数量、最小节点大小等。

叶节点值确定

对于每个叶节点,计算其包含的所有训练样本的响应变量(连续数值)的平均值(或其他统计量,如中位数等),作为该叶节点的预测值。未来新样本到达该叶节点时,就以这个预测值作为其输出预测。

(可选)剪枝优化

为了防止过拟合,可以对生成的完整决策树进行剪枝操作,简化模型并提高泛化能力。常用的剪枝方法包括:

预剪枝:在树生长过程中提前终止,例如设置更严格的停止条件,限制树的深度或节点数。
后剪枝:先生成完整的决策树,然后自底向上评估每个非叶节点,若将其替换为叶节点(即剪掉其子树)能带来整体性能(如验证集上的MSE)的改善,则进行剪枝。此过程反复进行,直到没有节点的剪枝能带来性能提升为止。

模型评估与选择

使用独立的验证集或交叉验证评估构建好的回归决策树的预测性能,根据评估结果可能需要调整模型参数(如最大深度、最小样本数等)或剪枝强度,选择最优模型。

综上所述,构建回归决策树的过程涉及数据预处理、树的递归生成、叶节点值确定以及可能的剪枝优化。通过这些步骤,模型得以从训练数据中学习到特征与连续响应变量之间的非线性关系,用于对未来数据进行预测

目录
相关文章
|
7月前
|
机器学习/深度学习 数据采集 人工智能
掌握随机森林:基于决策树的集成模型
掌握随机森林:基于决策树的集成模型
107 0
|
10月前
特征选择:回归,二分类,多分类特征选择有这么多差异需要注意
特征选择:回归,二分类,多分类特征选择有这么多差异需要注意
99 0
|
10月前
|
机器学习/深度学习 数据可视化 算法
机器学习系列6 使用Scikit-learn构建回归模型:简单线性回归、多项式回归与多元线性回归
在本文中,我们以美国南瓜数据为例,讲解了三种线性回归的原理与使用方法,探寻数据之间的相关性,并构建了6种线性回归模型。将准确率从一开始的0.04提升到0.96.
219 0
|
12月前
|
机器学习/深度学习 算法
连载|GBDT如何进行回归和分类
连载|GBDT如何进行回归和分类
|
12月前
|
机器学习/深度学习 算法 前端开发
【机器学习算法】13、决策树与随机森林(非常的全面讲解和实践)(二)
【机器学习算法】13、决策树与随机森林(非常的全面讲解和实践)(二)
245 0
|
12月前
|
机器学习/深度学习 算法
【机器学习算法】13、决策树与随机森林(非常的全面讲解和实践)(三)
【机器学习算法】13、决策树与随机森林(非常的全面讲解和实践)(三)
57 0
|
12月前
|
机器学习/深度学习 存储 算法
机器学习 - [源码实现决策树小专题]决策树学习中如何进行分类预测
本文介绍 决策树学习中如何进行分类预测,并使用 Python 语言实现
57 0
|
机器学习/深度学习 算法
ML之分类预测:以六类机器学习算法(kNN、逻辑回归、SVM、决策树、随机森林、提升树、神经网络)对糖尿病数据集(8→1)实现二分类模型评估案例来理解和认知机器学习分类预测的模板流程
ML之分类预测:以六类机器学习算法(kNN、逻辑回归、SVM、决策树、随机森林、提升树、神经网络)对糖尿病数据集(8→1)实现二分类模型评估案例来理解和认知机器学习分类预测的模板流程
ML之分类预测:以六类机器学习算法(kNN、逻辑回归、SVM、决策树、随机森林、提升树、神经网络)对糖尿病数据集(8→1)实现二分类模型评估案例来理解和认知机器学习分类预测的模板流程
|
机器学习/深度学习 算法
ML之回归预测:利用十类机器学习算法(线性回归、kNN、SVM、决策树、随机森林、极端随机树、SGD、提升树、LightGBM、XGBoost)对波士顿数据集回归预测(模型评估、推理并导到csv)
ML之回归预测:利用十类机器学习算法(线性回归、kNN、SVM、决策树、随机森林、极端随机树、SGD、提升树、LightGBM、XGBoost)对波士顿数据集回归预测(模型评估、推理并导到csv)
ML之回归预测:利用十类机器学习算法(线性回归、kNN、SVM、决策树、随机森林、极端随机树、SGD、提升树、LightGBM、XGBoost)对波士顿数据集回归预测(模型评估、推理并导到csv)
|
机器学习/深度学习 算法 前端开发
机器学习系列(10)_决策树与随机森林回归(上)
优点:易于理解;数据的预处理工作可以较少;使用树的成本比如预测数据的时候,对于训练树的数据点往往使用的是数量的对数;能够同时处理数值和分类数据‘处理多输出的问题;属于易于理解的白盒模型;可通过统计测试试验模型;
机器学习系列(10)_决策树与随机森林回归(上)