Python基于决策树分类模型、支持向量机分类模型、随机森林分类模型和XGBoost分类模型实现月亮数据标签预测项目实战

news2024/10/6 18:33:27

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

1.项目背景

在探索机器学习算法的性能与适用性时,我们往往需要依赖于精心设计的人工数据集来测试和验证各种模型的效能。其中一个广泛使用的数据集是“Make Moons”,它由Scikit-Learn库提供。本项目旨在利用“Make Moons”数据集,深入研究并比较不同分类算法的表现,以解决一个典型的二分类问题。

“Make Moons”数据集由两个交错的半圆形分布组成,形似两个相互重叠的月亮。每个数据点都包含两个特征,分别代表该点在二维空间中的横纵坐标。数据点被分为两个类别,即两个不同的“月亮”,这使得分类任务既直观又具有挑战性。数据集的设计初衷是为了测试分类器如何处理非线性可分的问题。

本项目的核心目标是评估和对比多种机器学习分类算法在解决“Make Moons”数据集上的表现。 

本项目通过决策树分类模型、支持向量机分类模型、随机森林分类模型和XGBoost分类模型实现月亮数据标签预测。      

2.数据获取

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

编号 

变量名称

描述

1

x1

表示每个数据点在二维空间的位置

2

x2

表示每个数据点在二维空间的位置

3

Label

表示每个数据点所属的类别(0或1)

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

3.数据预处理

3.1 用Pandas工具查看数据

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

关键代码:

3.2数据缺失查看

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

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

关键代码: 

3.3数据描述性统计

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

关键代码如下:  

4.探索性数据分析

4.1 Label变量柱状图

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

4.2 特征散点图

4.3 Label=1样本x1变量分布直方图

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

4.4 相关性分析

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

5.特征工程

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

关键代码如下:

5.2 数据集拆分

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

6.构建分类模型 

主要使用决策树分类算法、支持向量机分类模型、随机森林分类算法和XGBoost分类算法,用于目标分类。  

6.1 构建模型 

编号

模型名称

参数

1

决策树分类模型

默认参数值

2

random_state=123

3

支持向量机分类模型

probability=True

4

random_state=42

5

随机森林分类模型

默认参数值

6

random_state=42

7

XGBoost分类模型

默认参数值

8

random_state=42

7.模型评估

7.1评估指标及结果 

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

模型名称

指标名称

指标值

测试集

决策树分类模型

准确率

0.9750

查准率

0.9854

查全率

0.9667

F1分值

0.976

支持向量机分类模型

准确率

0.9750

查准率

0.9808

查全率

0.9714

F1分值

 0.9761

随机森林分类模型

准确率

 0.9725

查准率

0.9807

查全率

0.9667

F1分值

0.9736

XGBoost分类模型

准确率

0.9725

查准率

0.9807

查全率

 0.9667

F1分值

0.9736 

从上表可以看出,4个模型的F1分值都在0.9以上,说明4个模型在月亮数据集上效果较好。     

7.2 分类报告  

决策树分类模型:

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

支持向量机分类模型:

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

随机森林分类模型:

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

XGBoost分类模型:

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

7.3 混淆矩阵

决策树分类模型:

从上图可以看出,实际为0预测不为0的 有3个样本;实际为1预测不为1的 有7个样本。  

支持向量机分类模型:

从上图可以看出,实际为0预测不为0的 有4个样本;实际为1预测不为1的 有6个样本。  

随机森林分类模型:

从上图可以看出,实际为0预测不为0的 有4个样本;实际为1预测不为1的 有7个样本。

XGBoost分类模型:

从上图可以看出,实际为0预测不为0的 有4个样本;实际为1预测不为1的 有7个样本。

7.4 ROC曲线

决策树分类模型:

从上图可以看出,决策树分类模型的AUC值为0.98。

支持向量机分类模型:

从上图可以看出,决策树分类模型的AUC值为1.0。

随机森林分类模型:

从上图可以看出,随机森林分类模型的AUC值为1.0。

XGBoost分类模型:

从上图可以看出,XGBoost分类模型的AUC值为1.0。

8.结论与展望

综上所述,本文采用了决策树、支持向量机、随机森林和XGBoost算法来构建分类模型,最终证明了4种模型效果较好。此模型可用于日常产品的预测。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1876423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全面对标GPT-4 Turbo,讯飞星火V4.0凭什么?

大数据产业创新服务媒体 ——聚焦数据 改变商业 自从ChatGPT爆火出圈之后,大模型就走上了发展的快车道。 一方面,大模型技术快速演进,Sora为我们打开了视频生成的想象空间,各大厂商争相打破大模型的“模态墙”,长文本…

pytest中的极其重要固件(request)的理解

pytest 是一个非常流行的Python测试框架,它为开发人员提供了丰寴的测试工具和功能。 在pytest中,固件(fixture)是一种非常核心的概念,用于设置测试前的预条件,清理测试后的环境,或者提供测试过…

什么是DEQ?

DEQ (Delivered Ex Quay, Duty Paid) 是指目的港码头交货 (……指定目的港)。 这种术语规定卖方在指定目的港码头将货物交给买方处置,并且不办理进口清关手续。 DEQ适用范围 DEQ术语仅适用于海运、内河运输或多式联运,并且在目的港码头卸货时使用。如…

RAG 基本流程及处理技巧 with LangChain

LLM 主要存在两个问题:幻想和缺乏领域知识。领域知识缺乏的原因是因为训练 LLM 本身的知识更新慢,对特定领域的知识也没有太细致的输入。 RAG 主要是解决 LLM 缺乏领域知识的问题。底层的逻辑是:把 LLM 作为逻辑推理引擎,而不是信…

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验10 IPv4地址 — 构造超网(无分类编址)

一、实验目的 1.加深对构造超网的理解; 二、实验要求 1.使用Cisco Packet Tracer仿真平台; 2.观看B站湖科大教书匠仿真实验视频,完成对应实验。 三、实验内容 1.构建网络拓扑; 2.根据各网络所指定的地址块完成以下工作&#…

Python 面试【中级】

欢迎莅临我的博客 💝💝💝,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

Linux----> tail、cat、more、head、less的用法详解

1.tail命令&#xff1a;用于查看文件的最后几行内容。 基本用法&#xff1a;tail [选项] [文件] 常用选项&#xff1a; -n <行数>&#xff1a;显示最后的 <行数> 行。-f&#xff1a;实时显示文件新增内容&#xff0c;通常用于查看日志文件。 示例&#xff1a;…

程序中的Reduce(CPU和GPU)

前提 最近在看Reduce&#xff08;归约&#xff09;的相关知识和代码&#xff0c;做个总结。这里默认大家已经明白了Reduce的基础概念。 Reduce 根据参考链接一&#xff0c;Recude常见的划分方法有两种&#xff1a; 相邻配对&#xff1a;元素和它们相邻的元素配对 交错配对…

动态人物抠图换背景 MediaPipe

pip下载 MediaPipe pip install mediapipe -i 手部特征点模型包包含一个手掌检测模型和一个手部特征点检测模型。手掌检测模型在输入图片中定位手部&#xff0c;手部特征点检测模型可识别手掌检测模型定义的被剪裁手掌图片上的特定手部特征点。 由于运行手掌检测模型非常耗时&…

[图解]建模相关的基础知识-19

1 00:00:00,640 --> 00:00:04,900 前面讲了关系的这些范式 2 00:00:06,370 --> 00:00:11,570 对于我们建模思路来说&#xff0c;有什么样的作用 3 00:00:12,660 --> 00:00:15,230 我们建模的话&#xff0c;可以有两个思路 4 00:00:16,790 --> 00:00:20,600 一个…

【QT】按钮类控件 显示类控件

目录 按钮类控件 Push Button 设置按钮图标 按钮设置快捷键 设置鼠标点击按钮重复触发 Radio Button 单选框分组 Check Box 显示类控件 Label 常用属性 设置文本格式 给Label设置图片 Label标签设置边框 设置文本对齐方式 设置文本自动换行 设置文本缩进 设置…

AI与音乐的结合

前言 毫无疑问,AI的发展已经在音乐领域带来了诸多变化和影响.但人类创作仍然具有不可替代的重要性。人类的灵感、创造力以及对音乐的深刻理解和情感表达是音乐产业的核心动力来源。AI 更倾向于被视为一种辅助工具&#xff0c;与人类创作者相互协作和融合&#xff0c;共同推动音…

Nuxt3 的生命周期和钩子函数(五)

title: Nuxt3 的生命周期和钩子函数&#xff08;五&#xff09; date: 2024/6/29 updated: 2024/6/29 author: cmdragon excerpt: 摘要&#xff1a;本文详细介绍了Nuxt3中的六个核心生命周期钩子及其用法&#xff0c;包括build:done、build:manifest、builder:generateApp、…

解锁亚马逊、Temu、速卖通成功密码:重视评论,做好测评自养号

在亚马逊平台上&#xff0c;产品评论至关重要&#xff0c;因其能帮助其他买家做出购买决策。然而&#xff0c;亚马逊上的买家留评率却很低。有趣的是&#xff0c;存在一些买家&#xff0c;他们并未实际购买产品&#xff0c;却能发表评论。这究竟是怎么回事呢&#xff1f;接下来…

探索音频创作的无限可能——Studio One 5 软件深度解析

Studio One 5 是一款功能强大且备受赞誉的音频制作软件&#xff0c;无论是专业音乐制作人还是业余爱好者&#xff0c;都能在其中找到满足自己需求的强大功能。 对于 Mac 和 Windows 用户来说&#xff0c;Studio One 5 提供了一个直观且友好的操作界面。其简洁明了的布局让用户…

App Inventor 2 列表排序,函数式编程轻松实现高级排序算法

本文主要介绍 列表 的高级用法&#xff0c;即函数式编程&#xff0c;可以按照指定的逻辑进行列表的排序&#xff0c;而无需我们自己写代码实现排序功能。 指定的逻辑也包括很复杂的逻辑&#xff0c;也就是说如果你的排序逻辑很复杂&#xff0c;函数式编程就是最好的使用场景。…

FreeSWITCH 1.10.10 简单图形化界面22-JsSIP的demo测试并记录坑

FreeSWITCH 1.10.10 简单图形化界面22-JsSIP的demo测试 00 FreeSWITCH GUI界面预览01、安装FreeSWITCH GUI先看使用手册02. 使用手册在这里0、设置FreeSWITCH账号1、jssip的demo网站2、设置jssip账号并登录3、整理坑3.1 掉线问题3.11 解决3.2 呼叫问题13.21 解决13.3 呼叫问题2…

基于Spring Boot与Vue的智能房产匹配平台+文档

博主介绍&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐&#xff1a;最热的500个选题…

苏东坡传-读书笔记四

长江三峡&#xff0c;无人不知其风光壮丽&#xff0c;但对旅客而言&#xff0c;则是险象环生。此段江流全长二百二十余里&#xff0c;急流旋涡在悬崖峭壁之间滚转出入&#xff0c;水下暗石隐伏&#xff0c;无由得见&#xff0c;船夫要极其敏捷熟练&#xff0c;才可通行。三峡之…

Linux平台下RTSP|RTMP播放器如何跟python交互投递RGB数据供视觉算法分析

技术背景 我们在对接Linux平台RTSP播放模块的时候&#xff0c;遇到这样的技术需求&#xff0c;开发者需要把Linux RTSP播放器拉取的数据&#xff0c;除了实时播放外&#xff0c;还要投递给python&#xff0c;用于视觉算法分析。 技术实现 Linux平台RTSP、RTMP直接播放不再赘…