Python实现随机森林回归模型(RandomForestRegressor算法)项目实战

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
简介: Python实现随机森林回归模型(RandomForestRegressor算法)项目实战

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

image.png

image.png

1.定义问题

在电子商务领域,现在越来越多的基于历史采购数据、订单数据等,进行销量的预测;本模型也是基于电商的一些历史数据进行销量的建模、预测。

2.获取数据

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

训练数据集:data_train.xlsx

测试数据集:data_test.xlsx

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

特征数据:x1、x2、x3、x4、x5、x6、x7、x8、x9、x10

标签数据:y

3.数据预处理

1)数据描述性分析

image.png

 

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

image.png

从上图可以看到,x1变量存在空值。

 

3)数据缺失值个数:

image.png

可以看到x1变量缺失114个值。

 

4)缺失值数据比例:

image.png

可以看到x1变量缺失值占比0.5%

 

5)缺失值填充:这里通过业务上分析:填充0比较合适:

image.png

image.png

输出结果为0,说明已无缺失值。

 

6)哑变量处理

特征变量中x10的数值为文本类型:类型1、类型2,不符合机器学习数据要求,需要进行哑特征处理,变为0 1数值。

处理后,数据如下:

image.png

 

4.探索性数据分析

1)目标数据销量分析:

image.png

image.png

正偏态分析,数据主要集中在0-200之间。

 

偏度为:6.233259

峰度为:61.185221

 

偏度:正态分布的偏度为0。若数据分布是对称的,偏度 = 0。

若偏度 > 0,分布为右偏,即分布有一条长尾在右;

若偏度 < 0,分布为左偏,即分布有一条长尾在左。偏度的绝对值越大,说明分布的偏移程度越严重。

 

峰度:正态分布的峰度为0。

当峰度 > 0,它相比于正态分布要更陡峭或尾部更厚。

当峰度 < 0, 它相比于正态分布更平缓或尾部更薄。

 

2)特征变量x1和标签变量y关系的散点图:

image.png

通过上图可以看出,x1变量和y变量线性相关。

 

3)特征变量x5和标签变量y关系的散点图:

image.png

通过上图可以看出,x5变量和y变量线性相关。

 

4)相关性分析

image.png

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

x1到x9以及y之间的的相关性都比较强。

 

5.特征工程

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

image.png

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

image.png

 

特征工程还有很多其他内容,例如数据标准化、降维等等,这个根据实际情况来,本次建模不需要。 

6.机器建模  

1)建立随机森林回归模型,模型参数如下:

 

编号

参数

1

n_estimators=100

2

random_state=1

3

n_jobs=-1

 

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

 

2)验证集结果输出与比对:一方面是生成excel表格数据;一方面是生成折线图。

image.png

image.png

 

3)生成决策树

由于树比较多 一下子全部转为图片 导致图片看不清晰,所以生成的格式为.dot格式,大家可以根据具体需要把dot转为图片。

不分展示:总共200多页。

 

image.png

 

7.模型评估

1)评估指标主要采用准确率分值、MAE、MSE、RMSE

 

编号

评估指标名称

评估指标值

1

准确率分值

0.9769

2

MAE

9.9431

3

MSE

2625.5679

4

RMSE

51.2402

 

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

 

2)模型特征重要性:一方面是输出到excel;一方面是生成柱状图。 

image.png

image.png

8.实际应用

根据最近一周的特征数据,来预测销量(这里的数据,是提前准备好的没有标签的数据)。预测结果如下;

image.png

可以根据预测的销量进行备货。


# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:
 
# 获取方式一:
 
# 项目实战合集导航:
 
https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2
 
# 获取方式二:
 
链接:https://pan.baidu.com/s/1_u0XJKK1RTYLJf82WugmAA 
提取码:bx3h
相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
10天前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
|
10天前
|
机器学习/深度学习 资源调度 算法
遗传算法模型深度解析与实战应用
摘要 遗传算法(GA)作为一种受生物进化启发的优化算法,在复杂问题求解中展现出独特优势。本文系统介绍了GA的核心理论、实现细节和应用经验。算法通过模拟自然选择机制,利用选择、交叉、变异三大操作在解空间中进行全局搜索。与梯度下降等传统方法相比,GA不依赖目标函数的连续性或可微性,特别适合处理离散优化、多目标优化等复杂问题。文中详细阐述了染色体编码、适应度函数设计、遗传操作实现等关键技术,并提供了Python代码实现示例。实践表明,GA的成功应用关键在于平衡探索与开发,通过精心调参维持种群多样性同时确保收敛效率
52 7
|
9天前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
|
10天前
|
机器学习/深度学习 编解码 算法
【机器人路径规划】基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(Python代码实现)
【机器人路径规划】基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(Python代码实现)
|
10天前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于A*算法的机器人路径规划研究(Python代码实现)
【机器人路径规划】基于A*算法的机器人路径规划研究(Python代码实现)
|
10天前
|
机器学习/深度学习 边缘计算 人工智能
粒子群算法模型深度解析与实战应用
蒋星熠Jaxonic是一位深耕智能优化算法领域多年的技术探索者,专注于粒子群优化(PSO)算法的研究与应用。他深入剖析了PSO的数学模型、核心公式及实现方法,并通过大量实践验证了其在神经网络优化、工程设计等复杂问题上的卓越性能。本文全面展示了PSO的理论基础、改进策略与前沿发展方向,为读者提供了一份详尽的技术指南。
36 0
粒子群算法模型深度解析与实战应用
|
10天前
|
机器学习/深度学习 运维 算法
基于粒子群优化算法的配电网光伏储能双层优化配置模型[IEEE33节点](选址定容)(Matlab代码实现)
基于粒子群优化算法的配电网光伏储能双层优化配置模型[IEEE33节点](选址定容)(Matlab代码实现)
|
10天前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
|
10天前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
|
4天前
|
传感器 机器学习/深度学习 算法
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)

推荐镜像

更多