Python实现FA萤火虫优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战

news2024/11/27 9:42:55

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

1.项目背景

萤火虫算法(Fire-fly algorithm,FA)由剑桥大学Yang于2009年提出 , 作为最新的群智能优化算法之一,该算法具有更好的收敛速度和收敛精度,且易于工程实现等优点。

本项目通过FA萤火虫优化算法优化随机森林分类模型。

2.数据获取

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

编号 

变量名称

描述

1

x1

2

x2

3

x3

4

x4

5

x5

6

x6

7

x7

8

x8

9

x9

10

x10

11

y

因变量

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

3.数据预处理

3.1 用Pandas工具查看数据

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

  

关键代码:

3.2 数据缺失查看

使用Pandas工具的info()方法查看数据信息:

      

从上图可以看到,总共有11个变量,数据中无缺失值,共2000条数据。

关键代码:  

3.3 数据描述性统计

通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。

  

关键代码如下:    

4.探索性数据分析

4.1 y变量柱状图

用Matplotlib工具的plot()方法绘制柱状图:

4.2 y=1样本x1变量分布直方图

用Matplotlib工具的hist()方法绘制直方图:

4.3 相关性分析

从上图中可以看到,数值越大相关性越强,正值是正相关、负值是负相关。  

5.特征工程

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

关键代码如下:

5.2 数据集拆分

通过train_test_split()方法按照80%训练集、20%测试集进行划分,关键代码如下:

6.构建FA萤火虫优化算法优化随机森林分类模型

主要使用FA萤火虫优化算法优化随机森林分类算法,用于目标分类。

6.1 FA萤火虫优化算法寻找最优的参数值   

最优参数:

   

6.2 最优参数值构建模型

编号

模型名称

参数

1

随机森林分类模型

max_depth=best_max_depth

2

min_samples_leaf=best_min_samples_leaf

7.模型评估

7.1 评估指标及结果

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

模型名称

指标名称

指标值

测试集

随机森林分类模型

准确率

0.9300

查准率

0.974

查全率

0.8905

F1分值

0.9303

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

关键代码如下:

7.2 分类报告

     

从上图可以看出,分类为0的F1分值为0.93;分类为1的F1分值为0.93。

7.3 混淆矩阵

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

8.结论与展望

综上所述,本文采用了FA萤火虫优化算法寻找随机森林算法的最优参数值来构建分类模型,最终证明了我们提出的模型效果良好。此模型可用于日常产品的预测。

# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:

链接:https://pan.baidu.com/s/1mgc6qEX13l8CPk149m9grQ 
提取码:0p12

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

机器学习项目实战合集列表_机器学习实战项目_胖哥真不错的博客-CSDN博客


 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pandas数据转换成ndarray数组

Pandas 和 NumPy 被认为是科学计算与机器学习中必不可少的库,因为它们具有直观的语法和高性能的矩阵计算能力。下面对 Pandas 与 NumPy 进行简单的总结,如下表所示: 要将Pandas DataFrame转换为ndarray数组,您可以使用.values属…

统计centos系统哪一个进程打开文件描述符

一:找出前10进程打开的描述符 # find /proc/ -print|grep -P /proc/\d/fd|awk -F/ {print $3}|uniq -c|sort -rn |awk {print "进程 "$2" 打开 "$1" 个文件描述符"}|head 二:通过进程id找出对应的进程运行的程序。 # ps…

tensorflow模型的加载及保存,以及在C++端的部署

一、模型保存和加载 参考文章:TensorFlow2.0 —— 模型保存与加载 方法一、 仅保存模型权重(model.save_weights) 有两种保存模型权重的方法,一种是保存.h5形式。model.save_weights("adasd.h5") # 模型权重保存 model.load_weights("adasd.h5") # 模型…

外贸新人警惕:做外贸要注意的6个风险

近期外贸新人非常多,在这里给大家安利一波出口业务的注意事项。 一般情况下,风险主要有以下六种情况: 1、出货规格、日期与合同规定不符造成的收汇分险 出口方未按合同或信用证规定交货。 一是生产误工,造成晚交货; …

深入理解数据在内存中是如何存储的,位移操作符如何使用(能看懂文字就能明白系列)文章超长,慢慢品尝

系列文章目录 C语言笔记专栏 能看懂文字就能明白系列 🌟 个人主页:古德猫宁- 🌈 信念如阳光,照亮前行的每一步 文章目录 系列文章目录🌈 *信念如阳光,照亮前行的每一步* 前言引子一、2进制和进制转化为什么…

洗鞋机行业分析:2023年市场发展前景及消费现状

随着消费主力的转移,年轻群体在消费中的话语权和影响力越来越大,“精致懒”正在成为潮流。洗鞋机作为消费升级时代的产物,自诞生以来,经过十几年的发展,逐渐被年轻消费者熟知,洗鞋机品牌阵营和产品种类也变…

做外贸和你想的不一样

半夜突然想起来以前刚毕业入职的时候,那会在网上投简历基本上都是招聘外贸业务员的,可能那个时段正是外贸的高潮期,阿里那会还可以免费注册,免费试用开发客户。 然后我们同学们结队的一起去找工作,一般是有一个同学收…

万兆单模OSX010000:企业高速网络传输可靠解决方案

随着信息技术的不断发展,企业对于高速网络传输的需求不断增加。网络设备需要不断更新换代,以满足更高速、更远距离的传输要求。万兆单模光模块OSX010000是华为旗下的基于光纤传输的万兆单模光模块,适用于长距离的数据传输。本文将介绍什么是万…

python获取js data.now同款时间戳

import requestsimport time from datetime import datetimecu_t datetime.now() se cu_t.timestamp()*1000 se int(se) print(se)#cur_time time.time()*1000 #seconds int(cur_time) #print(seconds)

矩阵处理—旋转正方形矩阵

与其明天开始,不如现在行动! 文章目录 旋转正方形矩阵1 题目描述2 解决思路3 代码实现 💎总结 旋转正方形矩阵 1 题目描述 有一个n*n的矩阵,现在把整个矩阵顺时针旋转90,如图: 2 解决思路 设置四个指针&…

2023人工智能和市场营销的融合报告:创造性合作的新时代需要新的原则

今天分享的人工智能系列深度研究报告:《2023人工智能和市场营销的融合报告:创造性合作的新时代需要新的原则》。 (报告出品方:M&CSAATCHITHINKS) 报告共计:11页 生成型人工智能的兴起和重要性 生成式…

vue的data

类型:Object | Function 限制:组件的定义只接受 function。 详细: Vue 实例的数据对象。Vue 会递归地把 data 的 property 转换为 getter/setter,从而让 data 的 property 能够响应数据变化。对象必须是纯粹的对象 (含有零个或多个…

localhost工具:本地代码的远程之路 | 京东云技术团队

在日常的开发过程中,本地代码远程调试一直是最理想的开发状态。本文通过介绍京东集团内开发的一个轻量简单的小工具”localhost”,从多角度的方案思考,到原理介绍,到最终的方案落地,在开发阶段发现问题,解决…

短视频账号剪辑矩阵+无人直播系统源头开发

抖去推爆款视频生成器,通过短视频矩阵、无人直播,文案引流等,打造实体商家员工矩阵、用户矩阵、直播矩阵,辅助商家品牌曝光,团购转化等多功能赋能商家拓客引流。 短视频矩阵通俗来讲就是批量剪辑视频和批量发布视频&am…

洗眼镜机怎样?清洗机什么牌子好质量过硬、爆款超声波清洗机排名

戴眼镜的朋友真的可以试试超声波清洗机,家里备着一个超声波清洗机,即使是眼镜脏了也不用再麻烦的跑去眼镜店清洗了!由于目前市面上超声波清洗机的品牌实在太多,让想要体验超声波清洗机的朋友挑花了眼也找不到一款合适的&#xff0…

Centos7如何配置firewalld防火墙规则

博主介绍:Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。 🍅文末获取源码下载地址🍅 👇🏻 精彩专栏推荐订阅👇🏻…

每日一题 1466. 重新规划路线(树,DFS)

根据 connections 建立无向树从 0 开始深搜,每次调用 dfs 时判断路径方向是否正确 class Solution:def minReorder(self, n: int, connections: List[List[int]]) -> int:to defaultdict(set)edge defaultdict(list)for con in connections:edge[con[0]].appe…

JS实现网页页面的框架(demo)

采用JS实现网页页面的框架 采用的技术点有html&#xff0c;css&#xff0c;JS&#xff0c;jQuery 成品&#xff1a; HTML&#xff1a; <html><head><meta charset"utf-8"><title></title><link rel"stylesheet" href&…

Kafka -- 初识

目录 kafka是什么 Topic Partition Broker Cousumer CousumerGroup Offset reblance broker 消息存储 Isr kafka是什么 Kafka 是一个分布式的消息引擎&#xff0c;能够发布和订阅消息流&#xff08;类似于消息队列&#xff09; 以容错的、持久的方式存储消息流 多分区…

软件工程之UML建模

从公众号转载&#xff0c;关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、建模基础 1.建模的底层逻辑 用一个公式表达建模的底层逻辑&#xff1a;建模 图形 逻辑 现实的抽象&#xff0c;用一句概括即是用图形逻辑…