分类回归树什么时候不能反映数据的真实趋势
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本质上lightgbm和xgboost都是基于分类回归树集成的学习算法,所以他们也会有一些先天缺陷:当训练数据的特征都集中在一个区间内,而测试数据偏离该区间较大时会出现不能拟合的情况,根本原因是因为分
千家信息网最后更新 2025年12月03日分类回归树什么时候不能反映数据的真实趋势
本质上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安全错误
数据库的锁怎样保障安全
魔兽世界电脑服务器维护
服务器硬盘怎么看转速
中兴软件开发好跳槽吗
数据库 持久层
共签《网络安全法》横幅
密码编码学与网络安全论文
璧山软件开发培训
服务器操作面板如何使用
化学教学软件开发
测试服务器性能指标
安徽智能还款软件开发
稳定dns服务器
服务器安全排查
ar绘图卡 软件开发
空间数据库由 组成
互联网大厦科技城
软件开发中合格代码的特点
根域名服务器采用算法
网络安全课程有哪些方法
红原天气预报软件开发
常州盛景网络技术地址
网络技术班徽
高级软件开发人员的薪金
明扬环宇网络技术有限公司
软件开发内部审批
服务器如何区分同一个端口
小米应用商城的原神是什么服务器
盘锦飞鱼网络技术有限公司
浙江什么是软件开发行业标准
华为智能算法分析服务器