说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。
![](https://i-blog.csdnimg.cn/blog_migrate/08ad8ac19099c949d8dd98597acfc8fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f6224242ee16ba1f42593551e55e93fe.png)
1.项目背景
灰狼优化算法(GWO),由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优化算法。灵感来自于灰狼群体捕食行为。优点:较强的收敛性能,结构简单、需要调节的参数少,容易实现,存在能够自适应调整的收敛因子以及信息反馈机制,能够在局部寻优与全局搜索之间实现平衡,因此在对问题的求解精度和收敛速度方面都有良好的性能。缺点:存在着易早熟收敛,面对复杂问题时收敛精度不高,收敛速度不够快。
灰狼群体中有严格的等级制度,一小部分拥有绝对话语权的灰狼带领一群灰狼向猎物前进。灰狼群一般分为4个等级:αβδω(权利从大到小)模拟领导阶层。集体狩猎是灰狼的一种社会行为,社会等级在集体狩猎过程中发挥着重要的作用,捕食的过程在α的带领下完成。主要包括三个步骤:
-
跟踪和接近猎物
-
骚扰、追捕和包围猎物,直到它停止移动
-
攻击猎物
本项目通过GWO灰狼优化算法优化LSTM回归模型。
2.数据获取
本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:
![](https://i-blog.csdnimg.cn/blog_migrate/e0b9b2468a2e6255c6554b187df6b29b.png)
数据详情如下(部分展示):
![](https://i-blog.csdnimg.cn/blog_migrate/f5ed4dab5c3218d0cd7cbb6fd64468ab.png)
3.数据预处理
3.1用Pandas工具查看数据
使用Pandas工具的head()方法查看前五行数据:
![](https://i-blog.csdnimg.cn/blog_migrate/f8b038a305765ccf8eb4f26786d704e6.png)
关键代码:
![](https://i-blog.csdnimg.cn/blog_migrate/b70e84eac8ab129f3f9964b8210b431c.png)
3.2数据缺失查看
使用Pandas工具的info()方法查看数据信息:
![](https://i-blog.csdnimg.cn/blog_migrate/139d7e06c9866287f130f907f2e980c9.png)
从上图可以看到,总共有11个变量,数据中无缺失值,共2000条数据。
关键代码:
![](https://i-blog.csdnimg.cn/blog_migrate/323855f9eb4f647a3a686266fd55dca2.png)
3.3数据描述性统计
通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。
![](https://i-blog.csdnimg.cn/blog_migrate/fc0754aeb47d40f995029e175de73180.png)
关键代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/cd7d983c880e239e5de64df928ea3a21.png)
4.探索性数据分析
4.1 y变量直方图
用Matplotlib工具的hist()方法绘制直方图:
![](https://i-blog.csdnimg.cn/blog_migrate/aec61473326ef68b5296e1cba6f1a68e.png)
从上图可以看到,y变量主要集中在-200~200之间。
4.2相关性分析
![](https://i-blog.csdnimg.cn/blog_migrate/5c38bbc7ac07e20729e397087c2cf1d0.png)
从上图中可以看到,数值越大相关性越强,正值是正相关、负值是负相关。
5.特征工程
5.1建立特征数据和标签数据
关键代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/698160b4a863031590a02141fff8a6b9.png)
5.2数据集拆分
通过train_test_split()方法按照80%训练集、20%测试集进行划分,关键代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/e8d3f84f6b0c71265f3877ddb63a9629.png)
5.3数据样本增维
数据样本增加维度后的数据形状:
![](https://i-blog.csdnimg.cn/blog_migrate/544a0de57e9934932a7f554c47e64736.png)
6.构建GWO灰狼优化算法优化LSTM回归模型
主要使用GWO灰狼优化算法优化LSTM回归算法,用于目标回归。
6.1GWO灰狼优化算法寻找的最优参数
关键代码:
![](https://i-blog.csdnimg.cn/blog_migrate/15571ef4f83264af51fee9c76d0371d0.png)
每次迭代的过程数据:
![](https://i-blog.csdnimg.cn/blog_migrate/b7c17326ae17f0d746ace3676052d891.png)
最优参数:
![](https://i-blog.csdnimg.cn/blog_migrate/961600ce61b5499dde1ac274fa190d24.png)
6.2最优参数值构建模型
![](https://i-blog.csdnimg.cn/blog_migrate/7204ae5cca161a5eb7fc391f8d2fb0eb.png)
6.3最优参数模型摘要信息
![](https://i-blog.csdnimg.cn/blog_migrate/f40651f93d6c242d017c2aa04d183bce.png)
6.4最优参数模型网络结构
![](https://i-blog.csdnimg.cn/blog_migrate/f72dd3a2577c37911ba53166b16d02e5.png)
6.5最优参数模型训练集测试集损失曲线图
![](https://i-blog.csdnimg.cn/blog_migrate/fb5efded9e3f078c325cc085d643aadc.png)
7.模型评估
7.1评估指标及结果
评估指标主要包括可解释方差值、平均绝对误差、均方误差、R方值等等。
![](https://i-blog.csdnimg.cn/blog_migrate/aae262b8e25e03a44a0fadb03293ec11.png)
从上表可以看出,R方0.9993,为模型效果较好。
关键代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/825ccc010dbd10d8a29fe1f8123ef96f.png)
7.2真实值与预测值对比图
![](https://i-blog.csdnimg.cn/blog_migrate/08e98cf193fbcfa833606138710643ed.png)
从上图可以看出真实值和预测值波动基本一致,模型拟合效果良好。
8.结论与展望
综上所述,本文采用了GWO灰狼优化算法寻找LSTM回归算法的最优参数值来构建回归模型,最终证明了我们提出的模型效果良好。此模型可用于日常产品的预测。
# 本次机器学习项目实战所需的资料,项目资源如下:
# 项目说明:
# 链接:https://pan.baidu.com/s/19ILAtvO66N2mEcZyxpiYpQ
# 提取码:6f6q
更多项目实战,详见机器学习项目实战合集列表: