分类回归树什么时候不能反映数据的真实趋势
发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,本质上lightgbm和xgboost都是基于分类回归树集成的学习算法,所以他们也会有一些先天缺陷:当训练数据的特征都集中在一个区间内,而测试数据偏离该区间较大时会出现不能拟合的情况,根本原因是因为分
千家信息网最后更新 2024年11月13日分类回归树什么时候不能反映数据的真实趋势
本质上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安全错误
数据库的锁怎样保障安全
网吧服务器加监控机柜
程序员删除数据库坐牢
中国服务器的发明者
web服务器管理技术
乐辰网络技术
枪战下载服务器
生物科技互联网生意
反恐怖法网络安全法国家情报法
网络安全保卫工作年度工作方案
西部服务器管理
云阳软件开发设计
怎么找数据库文件
档案局 网络安全整改
丰富数据库信息
空间数据库教改
数据库企业管理实训报告
软件开发要考研吗
it网络技术薪水多少
卫生监督所网络安全应急预案
网络安全宣传周启动仪式山西
数据库应用技术形考任务5答案
洛阳城市管理局缴费服务器繁忙
数据库包含某个字符串
私人服务器怎么搞公网ip
深信服的网络安全专家
蜗牛学院网络安全工资
广州飞旭软件开发公司
网络安全文学题目
数据库服务器重置密码
中国公司自研数据库