基于多种机器学习算法的短信垃圾分类模型

文章目录

      • ==有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主==
      • 导入第三方库
      • 读取数据
      • 数据预处理
      • 数据分析与可视化
      • 机器学习建模
      • 贝叶斯
      • 逻辑回归
      • 支持向量机
      • 随机森林
      • XGBoost
      • 总结
      • 每文一语

有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主

导入第三方库

import warnings  # 导入警告库
warnings.filterwarnings("ignore")  # 忽略所有警告信息import string  # 导入字符串处理模块
import numpy as np  # 导入NumPy库,用于数组和矩阵运算
import pandas as pd  # 导入Pandas库,用于数据分析
import re  # 导入正则表达式模块
import matplotlib.pyplot as plt  # 导入matplotlib库,用于数据可视化
import seaborn as sns  # 导入Seaborn库,用于数据可视化
from nltk.corpus import stopwords  # 从NLTK库导入停用词
from plotly import graph_objs as go  # 导入Plotly库的图形对象
from plotly import express as px  # 导入Plotly Express模块,用于简化数据可视化
from plotly import figure_factory as ff  # 导入Plotly的图形工厂模块
from collections import Counter  # 导入Counter模块,用于计数
from PIL import Image  # 导入Python Imaging Library,用于处理图像
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator  # 导入词云生成模块
# ! pip install bs4  # 安装BeautifulSoup4库
from bs4 import BeautifulSoup  # 导入BeautifulSoup库,用于解析HTML和XMLfrom sklearn.model_selection import train_test_split  # 导入数据划分模块
from sklearn.preprocessing import LabelEncoder  # 导入标签编码器
from sklearn.metrics import classification_report, confusion_matrix, accuracy_score  # 导入评估指标模块
from sklearn.linear_model import LogisticRegression  # 导入逻辑回归模型
from sklearn import svm  # 导入支持向量机模块
from sklearn.ensemble import RandomForestClassifier  # 导入随机森林分类器
from sklearn.ensemble import GradientBoostingClassifier  # 导入梯度提升分类器
from sklearn.neighbors import KNeighborsClassifier  # 导入K近邻分类器
from sklearn.feature_extraction.text import CountVectorizer  # 导入计数向量化模块
from sklearn import metrics  # 导入评估指标模块
from sklearn.naive_bayes import MultinomialNB  # 导入多项式朴素贝叶斯分类器
from sklearn.feature_extraction.text import CountVectorizer  # 导入计数向量化模块(重复)from string import punctuation  # 导入标点符号
from nltk.tokenize.toktok import ToktokTokenizer  # 导入Toktok分词器
from nltk import pos_tag  # 导入词性标注模块
from nltk.corpus import wordnet  # 导入词汇数据库
from nltk.stem.porter import PorterStemmer  # 导入Porter词干提取器
from nltk.corpus import stopwords  # 从NLTK库导入停用词(重复)
primary_blue = "#496595"  # 定义主要的蓝色十六进制代码
primary_blue2 = "#85a1c1"  # 定义第二种主要的蓝色十六进制代码
primary_blue3 = "#3f4d63"  # 定义第三种主要的蓝色十六进制代码
primary_grey = "#c6ccd8"   # 定义主要的灰色十六进制代码

读取数据

在这里插入图片描述

数据预处理

在这里插入图片描述

数据分析与可视化

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

机器学习建模

贝叶斯

在这里插入图片描述在这里插入图片描述

逻辑回归

在这里插入图片描述在这里插入图片描述

支持向量机

在这里插入图片描述在这里插入图片描述

随机森林

在这里插入图片描述
在这里插入图片描述

XGBoost

在这里插入图片描述在这里插入图片描述

总结

本项目是一个基于多种机器学习的自然语言处理项目,通过对邮件的文本进行预处理,然后分词,转换为词向量,在进行多维度的EDA分析,最终采用多种机器学习的模型算法对其进行建模,评估。通过分类报告,ROC曲线,AUC面积,混淆矩阵,以及在线验证程序进行展示,来凸显出大数据和人工智能算法结合的语言判别模型的优势

每文一语

业精于勤荒于嬉

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

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

相关文章

【数据结构初阶】单链表经典算法题十二道——得道飞升(中篇)

hi,bro—— 目录 5、 链表分割 6、 链表的回文结构 7、 相交链表 8、 环形链表 【思考】 —————————————— DEAD POOL —————————————— 5、 链表分割 /* struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), …

学懂C语言(十八):C语言中数组及其应用

目录 一、数组的概念 二、数组的声明、初始化及访问 1、声明 2、初始化 3、访问数组元素 三、数组的应用 1. 存储和处理数据 2. 字符串处理 3. 多维数组 4. 函数参数 5、注意事项 一、数组的概念 C语言中的数组是一种数据结构,用于存储一…

el-image预览图片点击遮盖处关闭预览

预览关闭按钮不明显 解决方式: 1.修改按钮样式明显点: //el-image 添加自定义类名,下文【test-image】代指 .test-image .el-icon-circle-close{ color:#fff; font-size:20px; ...改成很明显的样式 }2.使用事件监听,监听当前遮…

web前端开发一、VScode环境搭建

1、VScode安装live server插件,写完代码后,保存就会在浏览器自动更新,不需要再去浏览器点击刷新了 2、创建html文件 3、在文件中输入感叹号 ! 4、选择第一个,然后回车,就会自动输入html的标准程序 5、…

我在百科荣创企业实践——简易函数信号发生器(6)

对于高职教师来说,必不可少的一个任务就是参加企业实践。这个暑假,本人也没闲着,报名参加了上海市电子信息类教师企业实践。7月8日到13日,有幸来到美丽的泉城济南,远离了上海的酷暑,走进了百科荣创科技发展有限公司。在这短短的一周时间里,我结合自己的教学经验和企业的…

20240724-然后用idea创建一个Java项目/配置maven环境/本地仓储配置

1.创建一个java项目 (1)点击页面的create project,然后next (2)不勾选,继续next (3)选择新项目名称,新项目路径,然后Finsh,在新打开的页面选择…

IDEA在编译的时候报Error: java: 找不到符号符号: 变量 log lombok失效问题

错误描述 idea因为lombok的报错: java: You arent using a compiler supported by lombok, so lombok will not work and has been disabled.Your processor is: com.sun.proxy.$Proxy8Lombok supports: sun/apple javac 1.6, ECJ 原因:这是由于Lombok的版本过低的…

分布式:RocketMQ/Kafka总结(附下载链接)

文章目录 下载链接思维导图 本文总结的是关于消息队列的常见知识总结。消息队列和分布式系统息息相关,因此这里就将消息队列放到分布式中一并进行处理关联 下载链接 链接: https://pan.baidu.com/s/1hRTh7rSesikisgRUO2GBpA?pwdutgp 提取码: utgp 思维导图

刷题了:150. 逆波兰表达式求值 |239. 滑动窗口最大值 |347.前 K 个高频元素

150. 逆波兰表达式求值 题目链接:https://leetcode.cn/problems/evaluate-reverse-polish-notation/description/ 文章讲解:https://programmercarl.com/0150.%E9%80%86%E6%B3%A2%E5%85%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%B1%82%E5%80%BC.html 视频讲解:https://www.bilibili.…

UE4调试UE4Editor-Cmd.exe

在工作中,我们看到这样的构建命令: %EnginePath%\Binaries\Win64\UE4Editor-Cmd.exe %ClientPath%\%ProjectName%.uproject -runHotPatcher {其它参数} 我们应该如何调试UE4Editor-Cmd.exe呢?其实调试 UE4Editor.exe 就可以了(参考…

【优秀python系统毕设】基于Python flask的气象数据可视化系统设计与实现,有LSTM算法预测气温

第一章 绪论 1.1 研究背景 在当今信息爆炸的时代,气象数据作为重要的环境信息资源,扮演着关键的角色。然而,传统的气象数据呈现方式存在信息量庞大、难以理解的问题,限制了用户对气象信息的深入理解和利用。因此,基…

List容器

此处是带头双向链表 对于List,不像string、vector之类的,没有reserve的说法,也不支持[ ]和下标,只有一种方式遍历List也就是采用迭代器(范围for的底层也是迭代器)。 insert函数和erase函数(需要配合std库里…

文件包含漏洞及利用

一、文件包含功能 1、文件包含的作用:减小代码的荣誉 2、文件包含函数: include 、 require 3、文件包含的方式 静态文件包含------文件名是固定的------ a.php中存在普通的字符串,被b.php包含, a.php中的字符串会直接完成输出 a…

CSS:mix-blend-mode属性(设置元素的混合模式)

目录 一、mix-blend-mode属性介绍 二、mix-blend-mode常用属性值 三、mix-blend-mode属性应用 四、文字智能适配背景 1、原始样式 2、添加混合 3、实现代码 一、mix-blend-mode属性介绍 CSS中的【mix-blend-mode属性】描述了元素的内容应该与元素的直系父元素的内容和…

C# 植物大战僵尸

Winform 版本开发 高效率、流畅植物大战僵尸 git地址:冯腾飞/植物大战僵尸

3. 类的生命周期

类的生命周期是指一个类被加载,使用,卸载的一个过程,如下图: 类的加载阶段: 加载(Loading)阶段第一步是类加载器根据类的**全限定名(也就是类路径)**通过不同的渠道以二进制流的方式获取字节码…

[C#]调用本地摄像头录制视频并保存

AForge.NET是一个基于C#框架设计的开源计算机视觉和人工智能库,专为开发者和研究者设计。它提供了丰富的图像处理和视频处理算法、机器学习和神经网络模型,具有高效、易用、稳定等特点。AForge库由多个组件模块组成,包括AForge.Imaging&#…

go语言day19 使用git上传包文件到github Gin框架入门

git分布式版本控制系统_git切换head指针-CSDN博客 获取请求参数并和struct结构体绑定_哔哩哔哩_bilibili (gin框架) GO: 引入GIn框架_go 引入 gin-CSDN博客 使用git上传包文件 1)创建一个github账户,进入Repositories个人仓…

【深度学习】语音合成,TTS,fish-speech

官方项目地址:https://github.com/fishaudio/fish-speech git clone https://github.com/fishaudio/fish-speech.gitdocker run -it --gpus device3 -v /ssd/xiedong/tts:/ssd/xiedong/tts --net host --shm-size 16G kevinchina/deeplearning:pytorch2.3.0-cuda12.…

Matlab编程资源库(9)数据插值与曲线拟合

一、一维数据插值 在MATLAB中,实现这些插值的函数是interp1,其调用格式为: Y1interp1(X,Y,X1,method) 函数根据X,Y的值,计算函数在X1处的值。X,Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量…