分类回归树什么时候不能反映数据的真实趋势
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本质上lightgbm和xgboost都是基于分类回归树集成的学习算法,所以他们也会有一些先天缺陷:当训练数据的特征都集中在一个区间内,而测试数据偏离该区间较大时会出现不能拟合的情况,根本原因是因为分
千家信息网最后更新 2026年11月02日分类回归树什么时候不能反映数据的真实趋势
本质上lightgbm和xgboost都是基于分类回归树集成的学习算法,所以他们也会有一些先天缺陷:
当训练数据的特征都集中在一个区间内,而测试数据偏离该区间较大时会出现不能拟合的情况,根本原因是因为分类回归树对于某一个叶子节点上的数据的目标值是采取该叶子节点的目标值均值做梯度提升最终确定预测值的。
比如我有个数据如下:
x,y
1,1
2,2
3,3
4,4
5,5
6,6
7,7
8,8
9,9
10,10
11,11
12,12
13,13
14,14
15,15
16,16
17,17
18,18
19,19
20,20
21,21
22,22
23,23
24,24
25,25
26,26
27,27
28,28
这个非常明显 是 y=x
如果输入测试数据 x =200 y应该是200
但是你用下面的程序测试,发现怎么调参数都不能得到200
因为分类回归树将这些数据分到若干个叶子节点上时候,采用的目标值最大只有28,他没有再根据特征做线性关系的拟合。程序如下:
import pandas as pdimport lightgbm as lgbpath_train = "data.csv"train1 = pd.read_csv(path_train)testlist = [[200]]# 采用lgb回归预测模型,具体参数设置如下model_lgb = lgb.LGBMRegressor(objective='regression',num_leaves=28, learning_rate=0.1, n_estimators=2000, max_bin = 28, bagging_fraction = 0.8, bagging_freq = 5, feature_fraction = 0.2319, feature_fraction_seed=9, bagging_seed=9, min_data_in_leaf =10, min_sum_hessian_in_leaf = 100 ,max_depth = 10)# 训练、预测model_lgb.fit(train1[['x']].fillna(-1), train1['y'])test1 = pd.DataFrame(testlist)test1.columns = ['x']y_pred = model_lgb.predict(test1[['x']].fillna(-1))print(y_pred)print("lgb success")套用一句话就是"没有见过星空的民族。怎会有遨游宇宙的梦想"
所以并不是什么数据都可以直接往lightgbm,xgboost里面灌的,要注意分析这个新的预测的数据的特征是否在训练数据集的特征的空间范围内。
不然挖掘的时候应该采用其他的方法分析。例如线性回归,或者将上面的博客的分类回归树底层加一个线性回归。
数据
分类
特征
叶子
目标
目标值
线性
节点
测试
训练
时候
区间
参数
程序
面的
分析
明显
最大
较大
一句话
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网新科技
美国互联网保险保险科技
互联网最新的科技
互联网科技卖菜
互联网中国科技
互联网科技与金融科技
广西互联网科技公司
狮子座互联网科技培训
成都狮子座互联网科技
顺网科技2021年互联网排名
西藏七维空间互联网科技有限公司
上海宁丞科技互联网
昭通互联网科技选哪家
语蝶互联网科技有限公司
恒生互联网科技指数跳水
科技赋能视角下互联网保险发展
互联网方面的科技前沿
互联网科技包装股
九思连强互联网电子科技有限公司
银川新华互联网科技学校是国营吗
华服互联网科技靠谱吗
博彦科技互联网金融
互联网科技会
华中科技大学互联网
汇久创客互联网科技
互联网高科技企业
深圳期待互联网科技
安控科技rtu产品工业互联网
恒银科技与互联网金融
好易买互联网科技