Python实现GA(遗传算法)对SVM分类模型参数的优化

简介: Python实现GA(遗传算法)对SVM分类模型参数的优化

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

image.png

image.png

1.需求分析

在国家一系列政策密集出台的环境下,在国内市场强劲需求的推动下,我国家用燃气灶具产业整体保持平稳较快增长。随着产业投入加大、技术突破与规模积累,在可以预见的未来,开始迎来发展的加速期。某电器公司的燃气灶产品销售额一直在国内处于领先地位,把产品质量视为重中之重,每年都要对其产品质量数据进行分析研究,以期不断完善,精益求精。本模型也是基于一些历史数据进行维修方式的建模、预测。

2.数据采集

本数据是模拟数据,分为两部分数据:

数据集:data.xlsx

在实际应用中,根据自己的数据进行替换即可。

特征数据:故障模式、故障模式细分、故障名称、单据类型

标签数据:维修方式

3.数据预处理

1)原始数据描述:

image.png

 

2)原始数据文本转换为数值:

 

image.png

 

2)数据完整性、数据类型查看:

image.png

3)数据缺失值个数:

image.png

可以看到数据不存在缺失值。

 

 

4)哑特征处理

特征变量故障模式、故障模式细分、故障名称中的数值为文本类型,不符合机器学习数据要求,需要进行哑特征处理,变为0 1数值。

关键代码如下:

image.png

处理后,数据如下:

image.png

 

4.探索性数据分析

1)特征变量故障分析:

故障分析:在维修记录中不同部件维修数量不同,其中“电极针坏”的数量占比最多,占全部维修记录的64.12%。“热电偶坏”和“电磁阀坏”的占比次之,分别为14.87%和11.29%。

image.png

 

2)特征变量故障模式分析:

故障模式又分别细分为5项:“开裂”、“变形”、“老化”、“调整电极针位置”、“热电偶与电磁阀接触不良”。

image.png

 

3)相关性分析

image.png

说明:正值是正相关、负值时负相关,值越大变量之间的相关性越强。

 

5.特征工程

1)特征数据和标签数据拆分,y为标签数据,除y之外的为特征数据;

image.png

2)数据集拆分,分为训练集和尝试集,80%训练集和20%验证集;

 

image.png

 

3)数据归一化

image.png

6.机器建模  

1)遗传算法简单介绍:

遗传算法,也叫Genetic Algorithm,简称 GA 算法他既然叫遗传算法,那么遗传之中必然有基因,那么基因染色体(Chromosome)就是它的需要调节的参数。我们在生物中了解到,大自然的法则是“物竞天择,适者生存”,我觉得遗传算法更适用于“优胜劣汰”。

l 优:最优解,

l 劣:非最优解。

遗传算法的实现流程:

image.png

涉及到还是适应度函数、选择、交叉、变异这几个模块。下面就这几个模块展开说明。具体的流程图解释如下:

(1)需要先对初始种群进行一次适应度函数进行计算,这样方便我们对个体进行选择,适应度值越大的越容易被保留;

(2)对群体进行选择,选择出适应度值较大的一部分优势群体;

(3)对优势种群进行 “交配”,更容易产生优秀的个体;

(4)模拟大自然变异操作,对染色体个体进行变异操作;

2)本次机器学习工作流程:

(1)种群数量NIND = 50代表第一代种群先进行50次的模型训练作为50个初始个体,每次训练的[C,G](当然每次训练的C和G还是随机初始化的)就是这个个体的的染色体;

(2)目标函数就是训练集上的分类准确度(当然下面代码用的交叉验证分数,含义其实是一样的);

(3)选择、交叉、变异、进化

(4)最后末代种群中的最优个体得到我们想要的C和Gamma,把这两个参数代入到测试集上计算测试集结果

 

3)应用遗传算法GA得到最优的调参结果

image.png  

编号

名称

1

评价次数:750

2

时间已过 2950.9299054145813 秒

3

最优的目标函数值为:0.9611955168119551

4

最优的控制变量值为:

5

C的值:149.7418557703495

6

G的值:0.00390625

 

最优的空值变量C、G的值,大家在实际数据集过程种可以慢慢尝试。 

 

 

4) 建立支持向量机分类模型,模型参数如下:

 

编号

参数

1

C=C

2

kernel='rbf'

3

gamma=G

 

其它参数根据具体数据,具体设置。

7.模型评估  

1)评估指标主要采用准确率分值、查准率、查全率、F1

 

编号

评估指标名称

评估指标值

1

准确率分值

0.96

2

查准率

95.02%

3

查全率

99.73%

4

F1

97.32%

 

通过上述表格可以看出,此模型效果良好。

 

8.实际应用  

根据测试集的特征数据,来预测这些产品的维修方式。可以根据预测的维修方式类型,进行产品的优化和人员工作的安排。具体预测结果此处不粘贴图片了。

# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:
 
# 获取方式一:
 
# 项目实战合集导航:
 
https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2
 
# 获取方式二:
 
链接:https://pan.baidu.com/s/1zn-fVeI-jamhr4y5lK9Gkw 
提取码:2o6v
相关文章
|
12月前
|
算法 搜索推荐 JavaScript
基于python智能推荐算法的全屋定制系统
本研究聚焦基于智能推荐算法的全屋定制平台网站设计,旨在解决消费者在个性化定制中面临的选择难题。通过整合Django、Vue、Python与MySQL等技术,构建集家装设计、材料推荐、家具搭配于一体的一站式智能服务平台,提升用户体验与行业数字化水平。
|
存储 算法 调度
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
584 26
|
存储 监控 算法
监控电脑屏幕的帧数据检索 Python 语言算法
针对监控电脑屏幕场景,本文提出基于哈希表的帧数据高效检索方案。利用时间戳作键,实现O(1)级查询与去重,结合链式地址法支持多条件检索,并通过Python实现插入、查询、删除操作。测试表明,相较传统列表,检索速度提升80%以上,存储减少15%,具备高实时性与可扩展性,适用于大规模屏幕监控系统。
331 5
|
算法 机器人
基于SOA海鸥优化算法的PID控制器最优控制参数计算matlab仿真
本课题研究基于海鸥优化算法(SOA)优化PID控制器参数的方法,通过MATLAB仿真对比传统PID控制效果。利用SOA算法优化PID的kp、ki、kd参数,以积分绝对误差(IAE)为适应度函数,提升系统响应速度与稳定性。仿真结果表明,SOA优化的PID控制器在阶跃响应和误差控制方面均优于传统方法,具有更快的收敛速度和更强的全局寻优能力,适用于复杂系统的参数整定。
|
12月前
|
机器学习/深度学习 传感器 算法
基于GA-HIDMSPSO优化CNN-SVM分类预测的研究(Matlb代码实现)
基于GA-HIDMSPSO优化CNN-SVM分类预测的研究(Matlb代码实现)
316 0
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
492 0
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
723 0
|
算法 数据安全/隐私保护
基于GA遗传算法的悬索桥静载试验车辆最优布载matlab仿真
本程序基于遗传算法(GA)实现悬索桥静载试验车辆最优布载的MATLAB仿真(2022A版)。目标是自动化确定车辆位置,使加载效率ηq满足0.95≤ηq≤1.05且尽量接近1,同时减少车辆数量与布载时间。核心原理通过优化模型平衡最小车辆使用与ηq接近1的目标,并考虑桥梁载荷、车辆间距等约束条件。测试结果展示布载方案的有效性,适用于悬索桥承载能力评估及性能检测场景。
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本内容包含基于BiLSTM与遗传算法(GA)的算法介绍及实现。算法通过MATLAB2022a/2024b运行,核心为优化BiLSTM超参数(如学习率、神经元数量),提升预测性能。LSTM解决传统RNN梯度问题,捕捉长期依赖;BiLSTM双向处理序列,融合前文后文信息,适合全局信息任务。附完整代码(含注释)、操作视频及无水印运行效果预览,适用于股票预测等场景,精度优于单向LSTM。
|
算法 JavaScript 数据安全/隐私保护
基于GA遗传优化的最优阈值计算认知异构网络(CHN)能量检测算法matlab仿真
本内容介绍了一种基于GA遗传优化的阈值计算方法在认知异构网络(CHN)中的应用。通过Matlab2022a实现算法,完整代码含中文注释与操作视频。能量检测算法用于感知主用户信号,其性能依赖检测阈值。传统固定阈值方法易受噪声影响,而GA算法通过模拟生物进化,在复杂环境中自动优化阈值,提高频谱感知准确性,增强CHN的通信效率与资源利用率。预览效果无水印,核心程序部分展示,适合研究频谱感知与优化算法的学者参考。

推荐镜像

更多