# SpamMessage
实现一个垃圾短信识别系统,在给定的数据集上验证效果.
![image](img/index.jpeg)
![image](img/result.jpeg)
## 短信数据
- 标签域: 1表示垃圾短信/0表示正常短信
- 文本域: 短信源文本(进行了一些处理)
## 分类算法
- KNN: K最近邻
- LR: 逻辑回归
- RF: 随机森林
- DT: 决策树
- GBDT: 梯度提升决策树
- SVM: 支持向量机
- MultinomialNB: 多项式分布朴素贝叶斯
- BernoulliNB: 伯努利分布朴素贝叶斯
## 环境依赖
- Classfier(模型训练)
- [Python 2.7.x](https://www.python.org/downloads/)
- [Scikit-learn](http://scikit-learn.org/stable/documentation.html#)
- [jieba](https://github.com/fxsjy/jieba) (已集成至项目内,无需安装)
- Sites (演示Demo)
- [Apache + PHP](http://php.net/)
- [Python 2.7.x](https://www.python.org/downloads/)
## 项目结构
.
├──Classfier(模型训练)
│ ├── DataProcess(数据预处理)
│ │ ├── jieba(结巴分词库)
│ │ ├── DataPreprocess.py(数据预处理)
│ │ └── message.txt(训练数据)
│ │
│ └── Classifiers.py(分类器)
│
├── Sites (演示Demo)
│ ├── Model
│ │ ├── jieba(结巴分词库)
│ │ ├── all_raw(结巴分词库)
│ │ │ ├── model(训练出的模型)
│ │ │ └── vec_tfidf(训练阶段生成的词向量)
│ │ │
│ │ └── demoAPI.py(demo调用Python接口)
│ │
│ ├── index.php(主页)
│ └── result.php(结果显示页面)
│
└── README.md
## 使用说明
#### 首先对数据进行预处理,命令如下:
$ cd Classfier/DataProcess
$ python DataPreprocess.py
> DataPreprocess.py 中主要参数变量含义如下:
- n_components: 降维到n_components维
- data_lines: 预处理的短信条数
- data_type: 预处理类型 `{raw, pca, nmf, pca&nmf}`
#### 训练分类器,命令如下:
$ cd ..
$ python Classifiers.py
> 注意修改代码中相关路径,Classifiers.py 中主要参数变量含义如下:
- takeup: 测试数据占总数据的比例
#### 配置演示Demo
1. 将数据预处理阶段生成的词向量 `vec_tfidf` 文件 放置 `Sites/Model/all_raw` 目录下
2. 将训练阶段生成的模型文件放置`Sites/Model/all_raw/model` 目录下
3. 将 `Sites` 目录下文件放置 apache 相应网站目录下
4. 访问 index.php
没有合适的资源?快使用搜索试试~ 我知道了~
python实现基于朴素贝叶斯的垃圾短信分类项目源码(期末大作业).zip
共135个文件
py:37个
pyc:36个
p:14个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 194 浏览量
2024-05-01
16:13:19
上传
评论 1
收藏 72.15MB ZIP 举报
温馨提示
下面是一个使用Python实现基朴素贝叶斯的垃圾短信分类的项目示例: 1. 数据准备: 首先,需要准备训练数据集和测试数据集。训练数据集包含已标记的垃圾短信和非垃圾短信样本,通过这些样进行模型训练。测试数据集用于评估模型的性能。 2. 数据预处理: 对短信文本进行预处理,包括去除停用词、词干化、去除标点符号等操作。可以使用NLTK或者spaCy等自然语言处理工具库来辅助完成这些任务。 3. 特征提: 将文本样本转换为特征向量是朴素贝叶斯算法的关键步骤。可以使用词袋模型、TF-IDF或者词嵌入等方法将文本样本表示为向量。 4. 模型训练: 使用训练数据集训练朴素贝叶斯分类模型。常见的朴素贝叶斯分类器有多项式朴素贝叶斯、伯努利朴素贝叶斯和高斯朴素贝叶斯等。可以使用scikit-learn库中的相关类来实现。 5. 模型评估: 使用测试数据集评估模型的性能,常见的评估指标包括准确率、召回率、精确率和F1值等。可以使用scikit-learn库中的相关函数来进行评估。 在这个示例中,我们首先定义了一个preprocessing函数,用于对文本进行预处理。然后,使用panda
资源推荐
资源详情
资源评论
收起资源包目录
python实现基于朴素贝叶斯的垃圾短信分类项目源码(期末大作业).zip
(135个子文件)
BernoulliNB 7.73MB
BernoulliNB 2.96MB
.DS_Store 12KB
.DS_Store 12KB
.DS_Store 10KB
.DS_Store 10KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 6KB
DT 236KB
DT 75KB
GBDT 660KB
GBDT 615KB
.gitignore 23B
SpamMessage-master.iml 462B
SpamMessage.iml 398B
result.jpeg 191KB
index.jpeg 110KB
demo.jpg 161KB
demo.jpg 161KB
y.json 244KB
KNN 21.27MB
KNN 3.94MB
LR 1.79MB
LR 684KB
README.md 3KB
raw.mtx 19.04MB
MultinomialNB 7.27MB
MultinomialNB 2.72MB
prob_emit.p 3.08MB
prob_emit.p 3.08MB
char_state_tab.p 2.02MB
char_state_tab.p 2.02MB
prob_emit.p 1.22MB
prob_emit.p 1.22MB
prob_trans.p 138KB
prob_trans.p 138KB
prob_start.p 8KB
prob_start.p 8KB
prob_trans.p 260B
prob_trans.p 260B
prob_start.p 109B
prob_start.p 109B
index.php 3KB
result.php 2KB
prob_emit.py 3.8MB
prob_emit.py 3.8MB
char_state_tab.py 1.54MB
char_state_tab.py 1.54MB
prob_emit.py 1.26MB
prob_emit.py 1.26MB
prob_trans.py 242KB
prob_trans.py 242KB
__init__.py 18KB
__init__.py 18KB
__init__.py 9KB
__init__.py 9KB
prob_start.py 7KB
prob_start.py 7KB
Classifiers.py 6KB
tfidf.py 4KB
tfidf.py 4KB
textrank.py 4KB
textrank.py 4KB
DataPreprocess.py 3KB
__init__.py 3KB
__init__.py 3KB
__main__.py 2KB
__main__.py 2KB
viterbi.py 2KB
viterbi.py 2KB
analyzer.py 1KB
analyzer.py 1KB
demoAPI.py 1KB
_compat.py 1KB
_compat.py 1KB
__init__.py 501B
__init__.py 501B
prob_trans.py 241B
prob_trans.py 241B
prob_start.py 93B
prob_start.py 93B
prob_emit.cpython-36.pyc 2.24MB
char_state_tab.cpython-36.pyc 1.28MB
prob_emit.pyc 1.02MB
prob_emit.pyc 1.02MB
prob_emit.cpython-36.pyc 868KB
char_state_tab.pyc 799KB
char_state_tab.pyc 799KB
prob_emit.pyc 501KB
prob_emit.pyc 501KB
prob_trans.cpython-36.pyc 202KB
prob_trans.pyc 119KB
prob_trans.pyc 119KB
__init__.pyc 19KB
__init__.pyc 19KB
__init__.cpython-36.pyc 15KB
__init__.pyc 12KB
__init__.pyc 11KB
共 135 条
- 1
- 2
资源评论
荒野大飞
- 粉丝: 1w+
- 资源: 2582
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java项目工时统计成本核算管理系统源码数据库 MySQL源码类型 WebForm
- CSnet-tls1.3-packet数据集
- 创建vue+electron项目流程
- Python-基于Pygame的贪吃蛇
- C#ASP.NET高校移动考勤webapp源码数据库 SQL2008源码类型 WebForm
- (2000-2023年)中国各、省、市、县、乡镇基尼系数数据(全新整理)
- JAVA的SpringBoot快速开发平台源码数据库 MySQL源码类型 WebForm
- java校园跑腿综合服务网平台小程序源码带部署搭建教程数据库 MySQL源码类型 WebForm
- 时间序列-白银-1分数据
- C#VS2015进销存管理系统源码数据库 SQL2008源码类型 WebForm
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功