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

探索LightGBM - shap集成模型在回归任务中的魅力

LightGBM-shap集成模型,回归任务,Python代码 方法本身没有啥可以解释 自带数据集可以直接运行 回归任务,所有图所见即所得,

在数据科学的领域中,回归任务是我们常常需要面对的挑战之一。今天,咱们就来捣鼓捣鼓LightGBM - shap集成模型,看看它在回归任务里能玩出什么花样,并且附上Python代码,让一切所见即所得。

准备工作

首先,我们得把需要的库都装上。这里主要用到lightgbm来搭建模型,shap用于解释模型,还有pandasmatplotlib来处理数据和画图。

import lightgbm as lgb import shap import pandas as pd import matplotlib.pyplot as plt

数据集

咱直接用lightgbm自带的数据集,方便又快捷。

# 加载自带数据集 data = lgb.Dataset(lgb.datasets.regression()[0]) X = data.data y = data.label

这里我们直接从lgb.datasets.regression()获取数据,然后把特征数据存到X,标签数据存到y

构建LightGBM模型

# 划分训练集和测试集 from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 定义LightGBM参数 params = { 'objective':'regression', 'learning_rate': 0.1, 'num_leaves': 31 } # 训练模型 gbm = lgb.train( params, lgb.Dataset(X_train, label=y_train), num_boost_round=100, valid_sets=[lgb.Dataset(X_test, label=y_test)], early_stopping_rounds=10 )

在这部分代码里,先用traintestsplit把数据集分成训练集和测试集。接着定义了一些LightGBM的参数,像objective指定为回归任务,learningrate是学习率,numleaves是叶子节点数。然后用这些参数和训练数据来训练模型,同时指定了验证集,设置了提前停止的轮数。

使用SHAP解释模型

# 计算SHAP值 explainer = shap.TreeExplainer(gbm) shap_values = explainer.shap_values(X_test) # 绘制SHAP摘要图 shap.summary_plot(shap_values, X_test, plot_type="bar") plt.show()

shap.TreeExplainer是专门为树模型计算SHAP值的,这里就用它来解释我们训练好的LightGBM模型。算好SHAP值后,用shap.summary_plot画个摘要图,能直观看到每个特征对模型输出的影响。这个图能让我们快速了解哪些特征在模型里更重要。

模型预测与评估

# 模型预测 y_pred = gbm.predict(X_test) # 评估模型 from sklearn.metrics import mean_squared_error mse = mean_squared_error(y_test, y_pred) print(f"Mean Squared Error: {mse}")

最后,用训练好的模型对测试集进行预测,再用均方误差(MSE)来评估模型的性能。通过这些步骤,咱们就完成了一个基于LightGBM - shap集成模型的回归任务,从数据准备到模型评估,所见即所得。希望大家能从这个小例子里对LightGBM - shap在回归任务中的应用有更清晰的认识。

http://www.cnnetsun.cn/news/149869.html

相关文章:

  • Material Files:Android上最优雅的开源文件管理器终极指南 [特殊字符]️
  • css样式attr()获取元素属性值测试
  • Lottie-Android文本动画终极指南:从静态文字到动态交互体验
  • 信息系统项目管理师报考指南(长图版)
  • FaceFusion与DaVinci Resolve的整合方案构想
  • FaceFusion如何应对对抗样本攻击?安全机制解析
  • GB Studio资源导入全流程解析:从新手到高手的格式选择指南 [特殊字符]
  • 一键部署FaceFusion镜像,快速实现专业级人脸交换
  • FaceFusion镜像企业定制版服务正式启动
  • LSPlant框架深度解析:构建Android系统级HOOK引擎的完整指南
  • Windows 11离线环境.NET Framework 3.5完整安装指南
  • 错过后悔一年!双十一必买的Open-AutoGLM智能推荐清单(限量版曝光)
  • Unity大分辨率视频播放终极指南:AVPRO插件完整配置方案
  • 如何用5分钟构建Unity游戏状态机:终极开发指南
  • 《国产数据库技术》学习心得:DM数据库实操全解析
  • 25、Windows XP 成像与视频处理全攻略
  • 26、释放你的电影制作潜能:Windows视频创作全攻略
  • 超实用指南:3步搭建Vector日志管道,告别配置烦恼 [特殊字符]
  • MusicGen技术解码:AI音乐生成的边界探索与未来路径
  • 35、小型工作组网络搭建与扩展指南
  • 【电影票抢购终极方案】:基于Open-AutoGLM的智能选座技术全曝光
  • Open-AutoGLM时间戳对齐陷阱(你不可不知的5个同步误区)
  • 解决Linux yum仓库错误:failure: repodata/repomd.xml的终极指南
  • Open-AutoGLM深度应用:7大场景破解传统文档管理难题
  • 终极指南:5步实现本地AI大模型高效部署
  • 南阳手持式凿岩机特价批发优惠高达30%
  • 15分钟打造zlibirary镜像书籍推荐系统原型
  • FaceFusion镜像集成FFmpeg实现高效视频编码
  • 5大核心模块拆解,看Open-AutoGLM如何重构智能烹饪生态链
  • JeecgBoot工作流引擎实战:5分钟实现业务流程自动化