个人网页制作方案,厦门百度关键词seo收费,宜春集团网站建设,互联网全网推广说明#xff1a;这是一个机器学习实战项目#xff08;附带数据代码文档视频讲解#xff09;#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景
遗传算法#xff08;Genetic Algorithm#xff0c;GA#xff09;最早是由美国的 John holland于20世…说明这是一个机器学习实战项目附带数据代码文档视频讲解如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景
遗传算法Genetic AlgorithmGA最早是由美国的 John holland于20世纪70年代提出,该算法是根据大自然中生物体进化规律而设计提出的。是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型是一种通过模拟自然进化过程搜索最优解的方法。该算法通过数学的方式,利用计算机仿真运算,将问题的求解过程转换成类似生物进化中的染色体基因的交叉、变异等过程。在求解较为复杂的组合优化问题时,相对一些常规的优化算法,通常能够较快地获得较好的优化结果。遗传算法已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。
本项目通过GA遗传算法优化卷积神经网络分类模型。
2.数据获取
本次建模数据来源于网络(本项目撰写人整理而成)数据项统计如下 数据详情如下(部分展示) 3.数据预处理
3.1 用Pandas工具查看数据
使用Pandas工具的head()方法查看前五行数据 关键代码 3.2 数据缺失查看
使用Pandas工具的info()方法查看数据信息 从上图可以看到总共有11个变量数据中无缺失值共2000条数据。
关键代码 3.3 数据描述性统计
通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。 关键代码如下 4.探索性数据分析
4.1 y变量柱状图
用Matplotlib工具的plot()方法绘制柱状图 4.2 y1样本x1变量分布直方图
用Matplotlib工具的hist()方法绘制直方图 4.3 相关性分析 从上图中可以看到数值越大相关性越强正值是正相关、负值是负相关。
5.特征工程
5.1 建立特征数据和标签数据
关键代码如下 5.2 数据集拆分
通过train_test_split()方法按照80%训练集、20%测试集进行划分关键代码如下 5.3 数据样本增维
数据样本增加维度后的数据形状 6.构建GA遗传算法优化CNN分类模型
主要使用GA遗传算法优化CNN分类算法用于目标分类。
6.1 GA遗传算法寻找最优参数值
最优参数 6.2 最优参数值构建模型 6.3 最优参数模型摘要信息 6.4 最优参数模型网络结构 6.5 最优参数模型训练集测试集损失和准确率曲线图 7.模型评估
7.1 评估指标及结果
评估指标主要包括准确率、查准率、查全率、F1分值等等。 从上表可以看出F1分值为0.8947说明模型效果较好。
关键代码如下 7.2 分类报告 从上图可以看出分类为0的F1分值为0.90分类为1的F1分值为0.89。
7.3 混淆矩阵 从上图可以看出实际为0预测不为0的 有13个样本实际为1预测不为1的 有27个样本整体预测准确率良好。
8.结论与展望
综上所述本文采用了GA遗传算法寻找卷积神经网络CNN算法的最优参数值来构建分类模型最终证明了我们提出的模型效果良好。此模型可用于日常产品的预测。 # 初始化种群、初始解
Sol np.zeros((N_pop, d)) # 初始化位置
Fitness np.zeros((N_pop, 1)) # 初始化适用度
for i in range(N_pop): # 迭代种群Sol[i] np.random.uniform(Lower_bound, Upper_bound, (1, d)) # 生成随机数Fitness[i] objfun(Sol[i]) # 适用度# ******************************************************************************# 本次机器学习项目实战所需的资料项目资源如下# 项目说明# 链接https://pan.baidu.com/s/1c6mQ_1YaDINFEttQymp2UQ# 提取码thgk# ******************************************************************************# y1样本x1变量分布直方图
fig plt.figure(figsize(8, 5)) # 设置画布大小
plt.rcParams[font.sans-serif] SimHei # 设置中文显示
plt.rcParams[axes.unicode_minus] False # 解决保存图像是负号-显示为方块的问题
data_tmp df.loc[df[y] 1, x1] # 过滤出y1的样本
# 绘制直方图 bins控制直方图中的区间个数 auto为自动填充个数 color指定柱子的填充色
plt.hist(data_tmp, binsauto, colorg) 更多项目实战详见机器学习项目实战合集列表
机器学习项目实战合集列表_机器学习实战项目_胖哥真不错的博客-CSDN博客 项目代码咨询、获取请见下方公众号。