当前位置: 首页 > news >正文

【MATLAB第70期】基于MATLAB的LightGbm(LGBM)梯度增强决策树多输入单输出回归预测及多分类预测模型(全网首发)

【MATLAB第70期】基于MATLAB的LightGbm(LGBM)梯度增强决策树多输入单输出回归预测及多分类预测模型(全网首发)


一、学习资料

(LGBM)是一种基于梯度增强决策树(GBDT)算法。
本次研究三个内容,分别是回归预测,二分类预测和多分类预测
参考链接:

lightgbm原理参考链接:
训练过程评价指标metric函数参考链接:
lightgbm参数介绍参考链接:
lightgbm调参参考链接:


二、回归预测(多输入单输出)

1.数据设置
数据(103个样本,7输入1输出)
2.预测结果
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.参数设置

parameters=containers.Map;
parameters('task')='train';
parameters('boosting_type')='gbdt';
parameters('metric')='rmse';
parameters('num_leaves')=31;
parameters('learning_rate')=0.05; %越大,训练集效果越好
parameters('feature_fraction')=0.9;
parameters('bagging_fraction')=0.8;
parameters('bagging_freq')=5;
parameters('num_threads')=1;
parameters('verbose')=1;

4.训练过程

[   1]  train rmse 0.208872
[   2]  train rmse 0.203687
[   3]  train rmse 0.202175
[   4]  train rmse 0.200801
[   5]  train rmse 0.199554
[   6]  train rmse 0.196124
[   7]  train rmse 0.193003
[   8]  train rmse 0.192100
[   9]  train rmse 0.189259
[  10]  train rmse 0.186576
............
[ 490]  train rmse 0.052932
[ 491]  train rmse 0.052870
[ 492]  train rmse 0.052847
[ 493]  train rmse 0.052830
[ 494]  train rmse 0.052820
[ 495]  train rmse 0.052771
[ 496]  train rmse 0.052689
[ 497]  train rmse 0.052619
[ 498]  train rmse 0.052562
[ 499]  train rmse 0.052506
[ 500]  train rmse 0.052457
bestIteration: 500
训练集数据的R2为:0.94018
测试集数据的R2为:0.87118
训练集数据的MAE为:1.365
测试集数据的MAE为:2.3607
训练集数据的MBE为:-0.079848
测试集数据的MBE为:-1.0132

5.特征变量敏感性分析

在这里插入图片描述

三、分类预测(多输入单输出二分类)

1.数据设置
数据(357个样本,12输入1输出)
2.预测结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.参数设置

parameters=containers.Map;
parameters('task')='train';
parameters('boosting_type')='gbdt';
parameters('metric')='binary_error';
parameters('num_leaves')=31;
parameters('learning_rate')=0.05;
parameters('feature_fraction')=0.9;
parameters('bagging_fraction')=0.8;
parameters('bagging_freq')=5;
parameters('num_threads')=1;
parameters('verbose')=0;

4.训练过程

[   0]  train binary_error 0.020833
[   1]  train binary_error 0.020833
[   2]  train binary_error 0.020833
[   3]  train binary_error 0.020833
[   4]  train binary_error 0.020833
[   5]  train binary_error 0.020833
[   6]  train binary_error 0.020833
............
[ 191]  train binary_error 0.000000
[ 192]  train binary_error 0.000000
[ 193]  train binary_error 0.000000
[ 194]  train binary_error 0.000000
[ 195]  train binary_error 0.000000
[ 196]  train binary_error 0.000000
[ 197]  train binary_error 0.000000
[ 198]  train binary_error 0.000000
[ 199]  train binary_error 0.000000
bestIteration: 200

5.特征变量敏感性分析

在这里插入图片描述

四、分类预测(多输入单输出多分类)

1.数据设置
数据(357个样本,12输入1输出。4分类)
2.预测结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.参数设置

parameters=containers.Map;
parameters('task')='train';
parameters('boosting_type')='gbdt';
parameters('metric')='multi_error';
parameters('num_leaves')=31;
parameters('learning_rate')=0.05;
parameters('feature_fraction')=0.9;
parameters('bagging_fraction')=0.8;
parameters('bagging_freq')=5;
parameters('num_threads')=1;
parameters('verbose')=0;

4.训练过程

[   0]  train multi_error 0.112500
[   1]  train multi_error 0.066667
[   2]  train multi_error 0.066667
[   3]  train multi_error 0.066667
[   4]  train multi_error 0.062500
[   5]  train multi_error 0.058333
[   6]  train multi_error 0.054167
[   7]  train multi_error 0.054167
[   8]  train multi_error 0.058333
[   9]  train multi_error 0.058333
[  10]  train multi_error 0.054167
[  11]  train multi_error 0.054167
............
[ 190]  train multi_error 0.000000
[ 191]  train multi_error 0.000000
[ 192]  train multi_error 0.000000
[ 193]  train multi_error 0.000000
[ 194]  train multi_error 0.000000
[ 195]  train multi_error 0.000000
[ 196]  train multi_error 0.000000
[ 197]  train multi_error 0.000000
[ 198]  train multi_error 0.000000
[ 199]  train multi_error 0.000000
bestIteration: 200

5.特征变量敏感性分析

在这里插入图片描述

五、代码获取

CSDN后台私信回复“70期”即可获取下载方式。

http://www.lryc.cn/news/151123.html

相关文章:

  • Linux进程间通信的几种方式
  • Android 13.0 Launcher3定制之双层改单层(去掉抽屉式一)
  • 【uniapp 配置启动页面隐私弹窗】
  • 2分钟讲清楚C#的委托, C语言的函数指针,Java的函数式接口
  • 华为云物联网平台微信小程序开发教程2.0【完整详细教程】
  • Laravel 模型1对1关联 1对多关联 多对多关联 ⑩①
  • 【分类】分类性能评价
  • M1 Pro 新芯片安装python2 方案汇总
  • 无涯教程-Android - Broadcast Receivers
  • 【Pytorch】Tutorials个人翻译集合
  • WordPress(6)网站侧边栏倒计时进度小工具
  • uniapp小程序单页面改变手机电量,头部通知的颜色效果demo(整理)
  • 数据挖掘导论学习笔记1(第1 、2章)
  • 从零开始,探索C语言中的字符串
  • Ubuntu学习---跟着绍发学linux课程记录(第二部分)
  • React18 新特性
  • HarmonyOS Codelab 优秀样例——购物应用,体验一次开发多端部署魅力
  • 音频基本知识
  • 小程序中如何给会员卡设置到期时间
  • Cookie与Session的区别及如何选择
  • 【快手小玩法-弹幕游戏】开发者功能测试报告提交模板
  • 微信小程序在线阅读系统微信小程序设计与实现
  • 【OpenCV入门】第七部分——图像的几何变换
  • 淘宝app商品详情原数据接口API(支持高并发请求/免费测试)
  • JS中的new操作符
  • 文件编辑器、用户管理,嘎嘎学
  • Java获取当前类名的两种方法
  • windows系统开机自启打开指定网页
  • Java-HashMap中put()方法是如何实现的,内含详细流程图
  • kaggle赛后总结