Python实现深度森林(Deep Forest)分类模型(deepforest分类算法)项目实战

devtools/2024/9/24 16:29:07/

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

1.项目背景

随着大数据时代的到来,机器学习技术在各个领域的应用变得越来越广泛。在许多实际问题中,如图像识别、自然语言处理和生物信息学等,深度学习模型因其强大的表达能力和优秀的性能而成为主流方法之一。然而,在某些场景下,传统的机器学习算法仍然具有独特的优势,比如计算效率高、可解释性强等。

深度森林Deep Forest),又称为 gcForest(Gradient-Cascading Forest),是一种模拟深度学习架构的集成学习方法,它结合了随机森林的优点与深度学习的层级特征提取能力。该方法通过构建多层随机森林结构来实现特征的层次化提取,从而能够在不需要大量标注数据的情况下达到甚至超越深度神经网络的性能。此外,相比于深度学习模型,深度森林还具有训练速度快、易于并行化等特点,这使得它在资源受限或对实时性要求较高的场景中特别有用。  

本项目实现深度森林(Deep Forest)分类模型(deepforest分类算法)。     

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:

编号 

变量名称

描述

1

x1

2

x2

3

x3

4

x4

5

x5

6

x6

7

x7

8

x8

9

x9

10

x10

11

y

因变量

数据详情如下(部分展示):

3.数据预处理

3.1 用Pandas工具查看数据

使用Pandas工具的head()方法查看前五行数据: 

关键代码:

3.2数据缺失查看

使用Pandas工具的info()方法查看数据信息:

从上图可以看到,总共有11个变量,数据中无缺失值,共2000条数据。

关键代码: 

3.3数据描述性统计

通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。

关键代码如下:  

4.探索性数据分析

4.1 y变量柱状图

用Matplotlib工具的plot()方法绘制柱状图:

4.2 y=1样本x1变量分布直方图

用Matplotlib工具的hist()方法绘制直方图:

4.3 相关性分析

从上图中可以看到,数值越大相关性越强,正值是正相关、负值是负相关。

5.特征工程

5.1 建立特征数据和标签数据

关键代码如下:

5.2 数据集拆分

通过train_test_split()方法按照80%训练集、20%测试集进行划分,关键代码如下:

6.构建深度森林分类模型 

主要使用深度森林deepforest分类算法,用于目标分类。  

6.1 构建模型 

编号

模型名称

参数

1

深度森林分类模型

n_estimators=2

2

min_samples_leaf=1 

7.模型评估

7.1评估指标及结果 

评估指标主要包括准确率、查准率、查全率、F1分值等等。

模型名称

指标名称

指标值

测试集

深度森林分类模型 

准确率

0.9400

查准率

0.9645

查全率

0.9179

F1分值

0.9406

从上表可以看出,F1分值为0.9406,说明模型效果良好。   

关键代码如下:

7.2 分类报告

从上图可以看出,分类为0的F1分值为0.94;分类为1的F1分值为0.94。  

7.3 混淆矩阵

从上图可以看出,实际为0预测不为0的 有7个样本;实际为1预测不为1的 有17个样本,整体预测准确率良好。  

8.结论与展望

综上所述,本文采用了深度森林deepforest分类算法来构建分类模型,最终证明了我们提出的模型效果良好。此模型可用于日常产品的预测。

python"># 本次机器学习项目实战所需的资料,项目资源如下:# 项目说明:# 获取方式一:# 项目实战合集导航:https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2# 获取方式二:链接:https://pan.baidu.com/s/1izcp5wZqIfU2rVmVCNpEEQ 
提取码:8i3d

http://www.ppmy.cn/devtools/91844.html

相关文章

Java养老护理帮忙代办陪诊陪护小程序系统源码

🌸【贴心守护,养老新选择】养老护理、代办陪诊、陪护小程序全攻略👩‍⚕️👨‍👩‍👧‍👦 🌈 引言:科技温暖夕阳红 在这个快节奏的时代,如何让家中长辈享受…

解决Pytest UnknownMarkWarning: Unknown pytest.mark.single - is this a typo?

解决 Pytest UnknownMarkWarning: Unknown pytest.mark.single - is this a typo? 出现截图所示问题 前提: 1.项目中使用了mark标记: pytest.mark.single2.同时项目中包含pytest.ini文件并进行了pytest.ini配置 运行项目 运行时报出截图所示Warning …

java springboot mqtt控制海康摄像头

GHHKControlService 接口 package org.gh.ghhk.service;public interface GHHKControlService {boolean monitorControl(String payload);}GHHKControlServiceImpl 实现类 ​ package org.gh.ghhk.service.impl;import com.alibaba.fastjson.JSONArray; import com.alibaba.…

Jenkins 部署Vue项目指引: Vue项目本地跨域代理 、解决ERR_UNSAFE_PORT

文章目录 引言I Jenkins 部署Vue项目配置插件安装系统配置NodeJS安装目录和别名设置新建任务(通用类型)构建环境Build Steps(构建步骤)II nginx部署站点(端口和站点目录的映射)查找Nginx配置文件端口和站点目录的映射III Vue项目本地跨域代理,屏蔽掉后端服务API的网关IP…

编程-设计模式 5:原型模式

设计模式 5:原型模式 定义与目的 定义:原型模式通过复制现有的实例来创建新对象,而不是通过构造函数创建。目的:这种模式的主要目的是为了提高创建对象的性能,特别是在创建对象的成本较高时。通过克隆现有的实例&…

stm32 gpio

点灯 /* USER CODE BEGIN WHILE */ while (1) { HAL_GPIO_WritePin(GPIOC,LED0_Pin,GPIO_PIN_RESET);//点亮 LED0是在引脚定义的时候UserLabel的内容 _Pin需要加上 HAL_Delay(5000); HAL_GPIO_WritePin(GPIOC,LED0_Pin,GPIO_PIN_SET);//熄灭 HAL…

React快速开发框架

本框架主要用于快速搭建项目 使用的基本库:webpackreactreact-routertypescript ps:有不足之处请多多包涵,提出意见或者建议 目的: 前端开发大多数时间是基于市面上比较流行的成品框架开始进行开发,途中遇到的问题大…

go testing 包

Go语言的testing包提供了一套丰富的测试工具,用于编写和运行测试用例。以下是testing包中一些常用的函数和类型: func TestMain(m *testing.M): 这是一个特殊的函数,用于执行测试的主函数。如果定义了TestMain,那么在运行go test时…