CART回归树和GBDT

本文介绍了CART回归树的选择特征方法,基于平方误差最小化的策略进行数据切分。接着详细阐述了GBDT(Gradient Boosting Decision Tree)的工作原理,包括回归树、梯度迭代和Shrinkage的概念,并通过实例解释了GBDT如何通过多棵树的迭代来逐步逼近真实值,降低过拟合风险。

CART 分为回归树和决策树。这里重点讲讲回归树的特征选择。

回归树选择特征的方法是:平方误差最小化。

具体步骤为:

1)依次遍历每个特征j,以及该特征的每个取值s,计算每个切分点(j,s)的损失函数,选择损失函数最小的切分点。



其中c1,c2分别为R1,R2区间内的输出平均值。

2)使用上步得到的切分点将当前的输入空间划分为两个部分

3)然后将被划分后的两个部分再次计算切分点,依次类推,直到不能继续划分。

4)最后将输入空间划分为M个区域R1,R2,…,RM,生成的决策树为:


其中cm为所在区域的输出值的平均值

### 原理 分类与回归树(classification and regression tree, CART)模型由 Beriman 等人在 1984 年提出,CART 回归树CART 模型用于回归任务的部分。CART 同样由特征选择、树的生成及剪枝组成。在回归问题中,CART 回归树通过递归地将特征空间划分为多个不重叠的区域,每个区域对应一个预测值。划分的依据通常是最小化均方误差(MSE),即找到一个特征该特征上的一个分割点,使得划分后的两个子区域内样本的目标值与子区域内样本目标值均值的误差平方最小。通过不断重复这个划分过程,直到满足停止条件,如达到最大深度、节点样本数小于某个阈值等 [^1]。 ### 应用 CART 回归树被广泛应用,且被用于树的集成模型,例如,GBDT、RF 等集成算法的基学习器都是 CART 树。由于决策树是典型的非线性模型,GBDT RF 因此也是非线性模型。在实际应用中,CART 回归树可用于房价预测、股票价格预测、销售量预测等回归问题,能够处理非线性关系的数据,并且可以解释每个特征对预测结果的影响 [^2]。 ### 实现方法 以下是一个使用 Python 的`scikit-learn`库实现 CART 回归树的简单示例代码: ```python from sklearn.datasets import make_regression from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeRegressor from sklearn.metrics import mean_squared_error # 生成一些示例数据 X, y = make_regression(n_samples=100, n_features=10, noise=0.1, random_state=42) # 划分训练集测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建 CART 回归树模型 model = DecisionTreeRegressor() # 训练模型 model.fit(X_train, y_train) # 进行预测 y_pred = model.predict(X_test) # 计算均方误差 mse = mean_squared_error(y_test, y_pred) print(f"均方误差: {mse}") ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值