当前位置:网站首页>【机器学习】实验3布置:贝叶斯垃圾邮件识别
【机器学习】实验3布置:贝叶斯垃圾邮件识别
2022-08-02 06:36:00 【Can__er】
ML_class
学堂在线《机器学习》实验课代码+报告(其中实验1和实验6有配套PPT),授课老师为张敏老师。课程链接:https://www.xuetangx.com/training/ML080910036802/1048372?channel=i.area.page_course_ad。
持续更新中。
所有代码为作者所写,并非最后的“标准答案”,只有课程设计被扣了1分,其余皆是满分。仓库链接:https://github.com/W-caner/ML_class。 此外,欢迎关注我的CSDN:https://blog.csdn.net/Can__er?type=blog。
部分数据集由于过大无法上传,我会在博客中给出下载链接。如果对代码有疑问,有更好的思路等,也非常欢迎在评论区与我交流~
EXP3 贝叶斯垃圾邮件识别
本次作业以垃圾邮件分类任务为基础,要求提取文本特征并使用朴素贝叶斯算法进行垃圾邮件识别(调用已有工具包或自行实现)。
任务介绍
电子邮件是互联网的一项重要服务,在大家的学习、工作和生活中会广泛使用。但是大家的邮箱常常被各种各样的垃圾邮件填充了。有统计显示,每天互联网上产生的垃圾邮件有几百亿近千亿的量级。因此,对电子邮件服务提供商来说,垃圾邮件过滤是一项重要功能。而朴素贝叶斯算法在垃圾邮件识别任务上一直表现非常好,至今仍然有很多系统在使用朴素贝叶斯算法作为基本的垃圾邮件识别算法。
本次实验数据集来自Trec06的中文垃圾邮件数据集,目录解压后包含三个文件夹,其中data目录下是所有的邮件(未分词),已分词好的邮件在data_cut目录下。邮件分为邮件头部分和正文部分,两部分之间一般有空行隔开。标签数据在label文件夹下,文件中每行是标签和对应的邮件路径。‘spam’表示垃圾邮件,‘ham’表示正常邮件。
基本要求:
- 提取正文部分的文本特征;
- 划分训练集和测试集(可以借助工具包。一般笔记本就足够运行所有数据,认为实现困难或算力不够的同学可以采样一部分数据进行实验。);
- 使用朴素贝叶斯算法完成垃圾邮件的分类与预测,要求测试集准确率Accuracy、精准率Precision、召回率Recall均高于0.9(本次实验可以使用已有的一些工具包完成如sklearn);
- 对比特征数目(词表大小)对模型效果的影响;
- 提交代码和实验报告。
扩展要求:
- 邮件头信息有时也可以协助判断垃圾邮件,欢迎学有余力的同学们尝试;
- 尝试自行实现朴素贝叶斯算法细节;
- 尝试对比不同的概率计算方法。
边栏推荐
- Specified URL is not reachable,caused by :‘Read timed out
- Summer Summary (3)
- 【故障诊断分析】基于matlab FFT轴承故障诊断(包络谱)【含Matlab源码 2002期】
- 【21天学习挑战赛】顺序查找
- How the Internet of Things is changing the efficiency of city operations
- 【云原生】如何快速部署Kubernetes
- request.getSession(), the story
- 【论文精读】Geometric Structure Preserving Warp for Natural Image Stitching
- PWA 踩坑 - 第一次加载页面后无法获取CacheStorage某些资源
- Facebook社媒营销的5大技巧,迅速提高独立站转化率!
猜你喜欢
随机推荐
数据库概论之MySQL表的增删改查1
【暑期每日一题】洛谷 P1255 数楼梯
yml字符串读取时转成数字了怎么解决
【红队】ATT&CK - 创建或修改系统进程实现持久化(更新ing)
解决Pytorch模型在Gunicorn部署无法运行或者超时问题
封装class类一次性解决全屏问题
2022年7月18日-7月31日(Ue4视频教程和文档,20小时。合计1412小时,剩8588小时)
【图像隐藏】基于matlab混合DWT-HD-SVD数字图像水印方法技术【含Matlab源码 2007期】
HCIP 第四天
File upload vulnerability (2)
每周推荐短视频:为什么产品开发需要数字化?如何做到数字化?
项目开发规范
专家见解|经济低迷期把握创新机会的 3 大方法
Redis 常用命令和基本数据结构(数据类型)
aTrust项目的相关操作与分享
MySQL Advanced Statements (1)
入门opencv,欢笑快乐每一天
abaqus如何快速导入其他cae文件的assembly?
MySQL Advanced Statements (1)
GCC编译器技术解析









