Python实现贝叶斯优化器(Bayes_opt)优化LightGBM分类模型(LGBMClassifier算法)项目实战

news/2024/4/19 1:35:56/文章来源:https://blog.csdn.net/weixin_42163563/article/details/129235365

说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。




1.项目背景

贝叶斯优化器(BayesianOptimization) 是一种黑盒子优化器,用来寻找最优参数。

贝叶斯优化器是基于高斯过程的贝叶斯优化,算法的参数空间中有大量连续型参数,运行时间相对较短。

贝叶斯优化器目标函数的输入必须是具体的超参数,而不能是整个超参数空间,更不能是数据、算法等超参数以外的元素。

本项目使用基于贝叶斯优化器(Bayes_opt)优化LightGBM分类算法来解决分类问题。

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:

数据详情如下(部分展示):

3.数据预处理

3.1用Pandas工具查看数据

使用Pandas工具的head()方法查看前五行数据:

从上图可以看到,总共有10个字段。

关键代码:

3.2缺失值统计

使用Pandas工具的info()方法统计每个特征缺失情况:

从上图可以看到,数据不存在缺失值,总数据量为1000条。

关键代码:

3.3变量描述性统计分析

通过Pandas工具的describe()方法来来统计变量的平均值、标准差、最大值、最小值、分位数等信息:

关键代码如下:

4.探索性数据分析

4.1y变量分类柱状图

用Pandas工具的value_counts().plot()方法进行统计绘图,图形化展示如下:

从上面图中可以看到,分类为0和1的样本,数量基本一致。

4.2y变量类型为1 x1变量分布直方图

通过Matpltlib工具的hist()方法绘制直方图:

从上图可以看出,x1主要集中在-2到2之间。

4.3 相关性分析

通过Pandas工具的corr()方法和seaborn工具的heatmap()方法绘制相关性热力图:

从图中可以看到,正数为正相关,负数为负相关,绝对值越大相关性越强。

5.特征工程

5.1建立特征数据和标签数据

y为标签数据,除 y之外的为特征数据。关键代码如下:

5.2数据集拆分

数据集集拆分,分为训练集和测试集,80%训练集和20%测试集。关键代码如下:

6.构建贝叶斯优化器优化LightGBM分类模型

主要使用基于贝叶斯优化器优化LightGBM分类算法,用于目标分类。

6.1构建调优模型

6.2最优参数展示

寻优的过程信息:

最优参数结果展示:

最优参数组合:

num_leaves的参数值为: 19

n_estimators的参数值为: 411

learning_rate的参数值为: 0.02

最优分数: 0.905

验证集准确率: 0.86

6.3最优参数构建模型

7.模型评估

7.1评估指标及结果

评估指标主要包括准确率、查准率、召回率、F1分值等等。

从上表可以看出,F1分值为0.8571,说明此模型效果较好。

关键代码如下:

7.2分类报告

LightGBM分类模型的分类报告:

从上图可以看到,分类类型为0的F1分值为0.87;分类类型为1的F1分值为0.86;整个模型的准确率为0.86。

7.3混淆矩阵

从上图可以看出,实际为0预测不为0的 有14个样本;实际为1预测不为1的有13个样本,整体预测准确率良好。

8.结论与展望

综上所述,本项目采用了基于贝叶斯优化器优化LightGBM分类模型,最终证明了我们提出的模型效果良好。


本次机器学习项目实战所需的资料,项目资源如下:项目说明:链接:https://pan.baidu.com/s/1c6mQ_1YaDINFEttQymp2UQ提取码:thgk

更多项目实战,详见机器学习项目实战合集列表

https://blog.csdn.net/weixin_42163563/article/details/127714353


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_74622.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第50天|LeetCode739. 每日温度、LeetCode496. 下一个更大元素 I

1.题目链接:739. 每日温度 题目描述: 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高&a…

使用docker pull 跨系统架构拉取镜像

使用docker pull 跨系统架构拉取镜像使用docker pull 跨系统架构拉取镜像docker hub上找到相应的镜像在个人电脑中的执行拉取镜像命令:执行查看镜像命令:执行检查镜像命令:执行保存镜像命令:使用docker pull 跨系统架构拉取镜像 …

断点续传实现

断点续传 1、 什么是断点续传 通常视频文件都比较大,所以对于媒资系统上传文件的需求要满足大文件的上传要求。http协议本身对上传文件大小没有限制,但是客户的网络环境质量、电脑硬件环境等参差不齐,如果一个大文件快上传完了网断了没有上…

高频面试题|RabbitMQ如何防止消息的重复消费?

一. 前言最近有很多小伙伴开始找工作,在面试时,面试官经常会问我们这样一个题目:RabbitMQ如何防止重复消费?有很多小伙伴这个时候都在想,消息怎么还会重复消费呢???.......所以他们在面试后就跑来问壹哥,针对这个比…

Python实现GWO智能灰狼优化算法优化循环神经网络回归模型(LSTM回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。1.项目背景灰狼优化算法(GWO),由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优…

针对面试官的盘问-如何回答职场中的一些问题

(点击即可收听)初入职场,面对面试官的提问,如何回答01你为什么从上家公司离职?个人成长不足,不符合自己的预期(关系到个人竞争力,希望找到一份更有挑战,个人提升更大的工作),切忌与面试官倒苦水,说前公司老板的不是业务发展缓慢,上升空间有限(有些不符合…

力扣-换座位

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:626. 换座位二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总结前言 …

redis(11)事务秒杀案例

秒杀案例描述 现在有1个秒杀的功能,1个原来价值5000元的手机现在搞活动,降价到1块钱,做秒杀活动。库存就10个,假设有10000人抢购。 目前逻辑是:抢到了商品库存就减1,然后把用户id加入到秒杀成功者清单中 Re…

【华为OD机试模拟题】用 C++ 实现 - 统计匹配的二元组个数(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明统计匹配的二元组个数题目输入输出描述示例一输入输出说明示例二输入输出说明备注Code使用说明 参加华为od机试,一定要注意不要完全背诵代码&

【华为OD机试模拟题】用 C++ 实现 - 卡片组成的最大数字(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明卡片组成的最大数字题目输入输出描述示例一输入输出示例二输入输出Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高…

高压放大器在声波谐振电小天线收发测试系统中的应用

实验名称:高压放大器在声波谐振电小天线收发测试系统中的应用研究方向:信号传输测试目的:声波谐振电小天线颠覆了传统电小天线以电磁波谐振作为理论基础的天线发射和接收模式,它借助声波谐振实现电磁信号的辐射或接收。因为同频的…

CPRI和10GBASE-KR的关系

目录 10GBASE-KR 10GBASE-KR的分层结构 10GBASE-KR 电气特性 发送器特性 接收器特性 CPRI CPRI与10GBASE-KR的差异 基于对CPRI协议和10GBASE-KR规范的分析完成本文,尝试解答CPRI和10GBASE-KR的关系问题,尝试给出如下结论: 当CPRI支持背…

使用xca工具生成自签证书

本文使用 xca 生成自签证书。 概述 之前使用 openssl 生成证书,在 golang 中测试,发现客户端连接失败,经查发现是Subject Alternative Name不支持导致的。因虚拟机 openssl 版本较低,有个功能无法实现,且升级麻烦&…

Matlab论文插图绘制模板第79期—无线条等高线填充图

资源群里有朋友问如何绘制等高线填充图,但删除线条,只保留填充颜色的那种。 那么,本期就来分享一下无线条等高线填充图的绘制模板。 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大…

Linux基础命令-stat显示文件的状态信息

文章目录 stat 命令介绍 语法格式 基本参数 测试三个时间的变化过程 1)使用cat命令 2)使用echo命令 3)使用chmod命令 4)使用vim命令 参考实例 1)显示文件的状态信息 2)以简洁的形式显示状态信…

【论文速递】COLING 2022 - 带有事件论元相关性的事件因果关系抽取

【论文速递】COLING 2022 - 带有事件论元相关性的事件因果关系抽取 【论文原文】:Event Causality Extraction with Event Argument Correlations 【作者信息】:Cui, Shiyao and Sheng, Jiawei and Cong, Xin and Li, Quangang and Liu, Tingwen and S…

Delphi 中 FireDAC 数据库连接(总览)

本系列包含一组文章,描述了如何用在Delphi中使用FireDAC设置数据库驱动和管理数据库连接。通过这一些列文章的学习,将熟练掌握FireDAC数据库连接管理应用。自由使用FireDAC!主题说明定义连接描述了如何存储和使用FireDAC连接参数以及连接定义…

ROS进行深度相机的标定

前言 自己使用标定板对深度相机进行标定。 参考:http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration 一、准备标定板 在下面的网站中可下载棋盘格标定板,可用A4纸打印下来。 http://wiki.ros.org/camera_calibration/Tutorials/…

【华为OD机试模拟题】用 C++ 实现 - 单词倒序(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明单词倒序 【华为OD机试模拟题】题目输入输出描述备注示例一输入输出示例二输入输出思路Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿…

SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例)

SVG实例详解系列(一) (svg概述、位图和矢量图区别(图解)、SVG应用实例) 目录 一、什么是SVG? (1)、位图和矢量图概念(图解) (2)、SVG的小例子…