河北省住房和城乡建设厅新网站,手机网站制作免费,wordpress文章标题居中,织梦做淘宝客网站视频教程说明#xff1a;这是一个机器学习实战项目#xff08;附带数据代码文档视频讲解#xff09;#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景
麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法#xff0c;在2020年提出这是一个机器学习实战项目附带数据代码文档视频讲解如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景
麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法在2020年提出主要是受麻雀的觅食行为和反捕食行为的启发。
在麻雀觅食的过程中分为发现者探索者和加入者追随者发现者在种群中负责寻找食物并为整个麻雀种群提供觅食区域和方向而加入者则是利用发现者来获取食物。为了获得食物麻雀通常可以采用发现者和加入者这两种行为策略进行觅食。种群中的个体会监视群体中其它个体的行为并且该种群中的攻击者会与高摄取量的同伴争夺食物资源以提高自己的捕食率。此外当麻雀种群意识到危险时会做出反捕食行为。
本项目通过SSA麻雀搜索算法优化XGBoost回归模型。
2.数据获取
本次建模数据来源于网络(本项目撰写人整理而成)数据项统计如下 数据详情如下(部分展示) 3.数据预处理
3.1 用Pandas工具查看数据
使用Pandas工具的head()方法查看前五行数据 关键代码 3.2 数据缺失查看
使用Pandas工具的info()方法查看数据信息 从上图可以看到总共有11个变量数据中无缺失值共1000条数据。
关键代码 3.3 数据描述性统计
通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。 关键代码如下 4.探索性数据分析
4.1 y变量分布直方图
用Matplotlib工具的hist()方法绘制直方图 4.2 相关性分析 从上图中可以看到数值越大相关性越强正值是正相关、负值是负相关。
5.特征工程
5.1 建立特征数据和标签数据
关键代码如下 5.2 数据集拆分
通过train_test_split()方法按照80%训练集、20%验证集进行划分关键代码如下 6.构建SSA麻雀搜索算法优化XGBoost回归模型
主要使用SSA麻雀搜索算法优化XGBoost算法用于目标回归。
6.1 SSA麻雀搜索算法寻找最优参数值
最优参数值 6.2 最优参数构建模型
这里通过最优参数构建XGBoost回归模型 7.模型评估
7.1 评估指标及结果
评估指标主要包括R方、均方误差、解释性方差、绝对误差等等。 从上表可以看出R方分值为0.8201模型效果良好。
关键代码如下 7.2 真实值与预测值对比图 从上图可以看出真实值和预测值波动基本一致模型效果良好。
8.结论与展望
综上所述本文采用了SSA麻雀搜索算法寻找XGBoost算法的最优参数值来构建回归模型最终证明了我们提出的模型效果良好。此模型可用于日常产品的建模工作。
# 定义边界函数
def Bounds(s, Lb, Ub):temp sfor i in range(len(s)):if temp[i] Lb[0, i]: # 小于最小值temp[i] Lb[0, i] # 取最小值elif temp[i] Ub[0, i]: # 大于最大值temp[i] Ub[0, i] # 取最大值# ******************************************************************************# 本次机器学习项目实战所需的资料项目资源如下# 项目说明# 链接https://pan.baidu.com/s/1-P7LMzRZysEV1WgmQCpp7A # 提取码5fv7# ******************************************************************************# 构建特征和标签
X data.drop(columns[y]) # 构建特征
y data[y] # 构建标签# 数据集的划分
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# SSA初始化参数
SearchAgents_no 10 # 种群数量
Max_iteration 1 # 迭代次数 更多项目实战详见机器学习项目实战合集列表
机器学习项目实战合集列表_机器学习实战项目_胖哥真不错的博客-CSDN博客