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

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: 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
相关文章
|
3天前
|
机器学习/深度学习 数据采集 数据可视化
使用Python实现深度学习模型:智能舆情监测与分析
【8月更文挑战第16天】 使用Python实现深度学习模型:智能舆情监测与分析
15 1
|
11天前
|
机器学习/深度学习 数据采集 算法
【优秀python算法毕设】基于python时间序列模型分析气温变化趋势的设计与实现
本文介绍了一个基于Python的时间序列模型,用于分析和预测2021-2022年重庆地区的气温变化趋势,通过ARIMA和LSTM模型的应用,揭示了气温的季节性和趋势性变化,并提供了对未来气温变化的预测,有助于气象预报和相关决策制定。
【优秀python算法毕设】基于python时间序列模型分析气温变化趋势的设计与实现
|
5天前
|
机器学习/深度学习 传感器 自动驾驶
使用Python实现深度学习模型:智能车联网与自动驾驶
【8月更文挑战第14天】 使用Python实现深度学习模型:智能车联网与自动驾驶
26 10
|
2天前
|
机器学习/深度学习 JSON API
【Python奇迹】FastAPI框架大显神通:一键部署机器学习模型,让数据预测飞跃至Web舞台,震撼开启智能服务新纪元!
【8月更文挑战第16天】在数据驱动的时代,高效部署机器学习模型至关重要。FastAPI凭借其高性能与灵活性,成为搭建模型API的理想选择。本文详述了从环境准备、模型训练到使用FastAPI部署的全过程。首先,确保安装了Python及相关库(fastapi、uvicorn、scikit-learn)。接着,以线性回归为例,构建了一个预测房价的模型。通过定义FastAPI端点,实现了基于房屋大小预测价格的功能,并介绍了如何运行服务器及测试API。最终,用户可通过HTTP请求获取预测结果,极大地提升了模型的实用性和集成性。
11 1
|
4天前
|
机器学习/深度学习 算法 定位技术
MATLAB - 遗传算法(GA)求解旅行商问题(TSP)
MATLAB - 遗传算法(GA)求解旅行商问题(TSP)
9 3
|
9天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现深度学习模型:智能文化遗产保护与传承
【8月更文挑战第10天】 使用Python实现深度学习模型:智能文化遗产保护与传承
31 6
|
5天前
|
算法 Ubuntu 机器人
DRAKE - 基于模型的机器人设计与验证 由丰田研究所支持的 C++ / Python 工具箱。
DRAKE - 基于模型的机器人设计与验证 由丰田研究所支持的 C++ / Python 工具箱。
13 1
|
6天前
|
机器学习/深度学习 传感器 物联网
使用Python实现深度学习模型:智能物联网与智能家居
【8月更文挑战第13天】 使用Python实现深度学习模型:智能物联网与智能家居
16 2
|
11天前
|
机器学习/深度学习 前端开发 数据挖掘
基于Python Django的房价数据分析平台,包括大屏和后台数据管理,有线性、向量机、梯度提升树、bp神经网络等模型
本文介绍了一个基于Python Django框架开发的房价数据分析平台,该平台集成了多种机器学习模型,包括线性回归、SVM、GBDT和BP神经网络,用于房价预测和市场分析,同时提供了前端大屏展示和后台数据管理功能。
|
7天前
|
机器学习/深度学习 数据采集 算法框架/工具
使用Python实现深度学习模型:智能人力资源管理与招聘
【8月更文挑战第12天】 使用Python实现深度学习模型:智能人力资源管理与招聘
18 2