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

文章目录

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

Vue事件总线(EventBus)的概念、使用以及注意事项

在Vue开发中,组件间的通信是不可避免的需求。对于父子组件间的通信,Vue提供了props和$emit/$on等内置机制。然而,当需要在非父子关系的组件间进行通信时,这些内置机制就显得力不从心了。这时,Vue事件总线(E…

布隆过滤器面试三道题

针对布隆过滤器的面试题,我将从简单到困难给出三道题目,并附上每道题的简要解析和参考答案。 1. 简单题:什么是布隆过滤器?请简述其基本原理。 解析: 这道题是布隆过滤器的基础概念题,主要考察面试者对布…

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

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

蓝桥杯 2024 年第十五届省赛真题 —— 最大异或结点

目录 1. 最大异或结点1. 问题描述2. 输入格式3. 输出格式4. 样例输入5. 样例输出6. 样例说明7. 评测用例规模与约定 2. 解题思路1. 解题思路2. AC_Code 1. 最大异或结点 1. 问题描述 小蓝有一棵树,树中包含 N N N 个结点,编号为 0 , 1 , 2 , ⋯ , N − 1 0,1,2,…

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日,有幸来到美丽的泉城济南,远离了上海的酷暑,走进了百科荣创科技发展有限公司。在这短短的一周时间里,我结合自己的教学经验和企业的…

Vue Router 4【实用教程】(2024最新版)vue3 路由管理

Vue Router 是 Vue 官方的客户端路由解决方案,在单页应用 (SPA) 中,用户在应用中浏览不同页面时,URL 会随之更新,但页面不需要从服务器重新加载。 核心思想: 通过配置路由来告诉 Vue Router 为每个 URL 路径显示哪些…

Xtrabackup备份mysql数据库

XtraBackup是一个用于MySQL和Percona Server的开源热备份工具,它由Percona开发。XtraBackup支持两种备份类型:完整备份(full backup)和增量备份(incremental backup)。 一、备份原理及优势 xtrabackup在备份…

OpenCV库学习之cv2.GaussianBlur函数

OpenCV库学习之cv2.GaussianBlur函数 一、简介 cv2.GaussianBlur 是 OpenCV 图像处理库中的一个函数,它用于对图像进行高斯模糊处理。高斯模糊是一种常用的图像模糊技术,通过高斯函数对图像进行卷积,实现图像的平滑效果,常用于去…

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的版本过低的…

ARM-A7通用中断服务函数-1

中断流程 保存现场-执行中断服务函数-返回现场 .S文件的修改 先看代码: IRQ_Handler:push {lr} /* 保存lr地址 */push {r0-r3, r12} /* 保存r0-r3,r12寄存器 */mrs r0, spsr /* 读取spsr寄存器 */push {r0} /* 保存spsr寄存器 */mrc p1…

分布式: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.…

crack 基于golang的多并发爆破工具

一款轻巧的内网弱口令枚举工具,项目地址:GitHub - oksbsb/crack: 支持 ftp ssh smb mysql mssql postgres 安装 ​ git clone https://github.com/yanweijin/crack go build main.go基于用法 ➜ crack git:(master) ✗ go run main.go --help …

UE4调试UE4Editor-Cmd.exe

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

1111111111111111111111

https://chat18.aichatos.xyz/#/chat/1716220931748File "D:\微信\venv\Lib\site-packages\pyautogui\__init__.py", line 228, in _couldNotImportPyScreezeraise PyAutoGUIException( pyautogui.PyAutoGUIException: PyAutoGUI was unable to import pyscreeze. (T…

LabVIEW程序员以后会不会被ai取代?

关于LabVIEW程序员未来的就业前景和AI的影响,可以从多个角度进行分析: AI对LabVIEW程序员的影响 自动化和AI辅助编程: AI正在迅速发展,可以在某些领域自动生成代码、优化代码和检测错误。对于标准化的、重复性的编程任务&#xf…