记录xgboost等基于决策树的集成模型存在的问题

最近做基于辐照度的光伏预测,在数据量很少的情况下,采用xgboost遇到一个问题,就是预测值在正午时分全部是一样的,经过多轮测试及与豆包对话找到了原因。

豆包解释:XGBoost 的预测特性:XGBoost 对于超出训练数据分布的特征值,预测结果会趋于一个固定值(你的情况就是 0.07105778),这是模型的泛化特性导致的。

XGBoost(以及所有基于决策树的集成模型,如随机森林、LightGBM)之所以会出现 "遇到超出训练范围的特征值时,预测值趋于常数" 的现象,是因为决策树是基于 "轴平行" 的分裂(Axis-Aligned Splitting)

简单来说,树模型在训练数据的最大值(例如 GHI=1.0)之后,就没有继续分裂的规则了,它不知道 1.0 之后的趋势是上升、下降还是保持不变,因此只能输出该叶子节点上训练数据的平均值。

当然和豆包说的不完全一致,因为我的ghi归一化后确定没有超过1.0,所以我怀疑主要原因是数据量太少(10天左右),加上ghi和光伏数据归一化后范围比较小(荷兰冬季辐照度最高只有200多,发电效率只有20~30%),综合导致这种问题。

换成线性模型后不再出现这种问题。

相关推荐
小瑞瑞acd3 小时前
【小瑞瑞精讲】卷积神经网络(CNN):从入门到精通,计算机如何“看”懂世界?
人工智能·python·深度学习·神经网络·机器学习
民乐团扒谱机4 小时前
【微实验】机器学习之集成学习 GBDT和XGBoost 附 matlab仿真代码 复制即可运行
人工智能·机器学习·matlab·集成学习·xgboost·gbdt·梯度提升树
Σίσυφος19004 小时前
PCL法向量估计 之 RANSAC 平面估计法向量
算法·机器学习·平面
rcc86284 小时前
AI应用核心技能:从入门到精通的实战指南
人工智能·机器学习
霖大侠5 小时前
【无标题】
人工智能·深度学习·机器学习
B站_计算机毕业设计之家5 小时前
猫眼电影数据可视化与智能分析平台 | Python Flask框架 Echarts 推荐算法 爬虫 大数据 毕业设计源码
python·机器学习·信息可视化·flask·毕业设计·echarts·推荐算法
deephub6 小时前
机器学习特征工程:分类变量的数值化处理方法
python·机器学习·特征工程·分类变量
墩墩冰6 小时前
计算机图形学 实现直线段的反走样
人工智能·机器学习
B站_计算机毕业设计之家6 小时前
豆瓣电影数据可视化分析系统 | Python Flask框架 requests Echarts 大数据 人工智能 毕业设计源码(建议收藏)✅
大数据·python·机器学习·数据挖掘·flask·毕业设计·echarts
weixin_395448916 小时前
cursor日志
人工智能·python·机器学习