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-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
130 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
26天前
|
数据采集 数据可视化 数据挖掘
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
本文探讨了金融资产波动率建模中的三种主流方法:GARCH、GJR-GARCH和HAR模型,基于SPY的实际交易数据进行实证分析。GARCH模型捕捉波动率聚类特征,GJR-GARCH引入杠杆效应,HAR整合多时间尺度波动率信息。通过Python实现模型估计与性能比较,展示了各模型在风险管理、衍生品定价等领域的应用优势。
231 66
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
|
4天前
|
机器学习/深度学习 算法
扩散模型=进化算法!生物学大佬用数学揭示本质
在机器学习与生物学交叉领域,Tufts和Harvard大学研究人员揭示了扩散模型与进化算法的深刻联系。研究表明,扩散模型本质上是一种进化算法,通过逐步去噪生成数据点,类似于进化中的变异和选择机制。这一发现不仅在理论上具有重要意义,还提出了扩散进化方法,能够高效识别多解、处理高维复杂参数空间,并显著减少计算步骤,为图像生成、视频合成及神经网络优化等应用带来广泛潜力。论文地址:https://arxiv.org/pdf/2410.02543。
31 21
|
10天前
|
人工智能 算法 搜索推荐
单纯接入第三方模型就无需算法备案了么?
随着人工智能的发展,企业接入第三方模型提升业务能力的现象日益普遍,但算法备案问题引发诸多讨论。根据相关法规,无论使用自研或第三方模型,只要涉及向中国境内公众提供算法推荐服务,企业均需履行备案义务。这不仅因为服务性质未变,风险依然存在,也符合监管要求。备案内容涵盖模型基本信息、算法优化目标等,且需动态管理。未备案可能面临法律和运营风险。建议企业提前规划、合规管理和积极沟通,确保合法合规运营。
|
5天前
|
监控 算法 安全
内网桌面监控软件深度解析:基于 Python 实现的 K-Means 算法研究
内网桌面监控软件通过实时监测员工操作,保障企业信息安全并提升效率。本文深入探讨K-Means聚类算法在该软件中的应用,解析其原理与实现。K-Means通过迭代更新簇中心,将数据划分为K个簇类,适用于行为分析、异常检测、资源优化及安全威胁识别等场景。文中提供了Python代码示例,展示如何实现K-Means算法,并模拟内网监控数据进行聚类分析。
28 10
|
23天前
|
存储 算法 安全
控制局域网上网软件之 Python 字典树算法解析
控制局域网上网软件在现代网络管理中至关重要,用于控制设备的上网行为和访问权限。本文聚焦于字典树(Trie Tree)算法的应用,详细阐述其原理、优势及实现。通过字典树,软件能高效进行关键词匹配和过滤,提升系统性能。文中还提供了Python代码示例,展示了字典树在网址过滤和关键词屏蔽中的具体应用,为局域网的安全和管理提供有力支持。
50 17
|
1月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
266 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
2月前
|
算法 网络协议 Python
探秘Win11共享文件夹之Python网络通信算法实现
本文探讨了Win11共享文件夹背后的网络通信算法,重点介绍基于TCP的文件传输机制,并提供Python代码示例。Win11共享文件夹利用SMB协议实现局域网内的文件共享,通过TCP协议确保文件传输的完整性和可靠性。服务器端监听客户端连接请求,接收文件请求并分块发送文件内容;客户端则连接服务器、接收数据并保存为本地文件。文中通过Python代码详细展示了这一过程,帮助读者理解并优化文件共享系统。
|
1天前
|
算法 数据安全/隐私保护 计算机视觉
基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
本项目展示了256×256图像通过双线性插值放大至512×512的效果,无水印展示。使用Matlab 2022a和Vivado 2019.2开发,提供完整代码及详细中文注释、操作视频。核心程序实现图像缩放,并在Matlab中验证效果。双线性插值算法通过FPGA高效实现图像缩放,确保质量。
|
1月前
|
算法 数据安全/隐私保护 计算机视觉
基于Retinex算法的图像去雾matlab仿真
本项目展示了基于Retinex算法的图像去雾技术。完整程序运行效果无水印,使用Matlab2022a开发。核心代码包含详细中文注释和操作步骤视频。Retinex理论由Edwin Land提出,旨在分离图像的光照和反射分量,增强图像对比度、颜色和细节,尤其在雾天条件下表现优异,有效解决图像去雾问题。

热门文章

最新文章