基于朴素贝叶斯算法的垃圾邮件分类器实现。
本项目由 Cursor 基于 docs/ 目录中的数学原理和代码实现思路文档进行生成。
我准备实现一个基于朴素贝叶斯的垃圾邮件分类器,具体要求如下:
1. 我已经准备了 Ling-Spam Dataset 作为我们的数据集,参见 ./dataset.csv
2. 我准备好了详细的实现文档, @数学原理.md 解释了实现的数学原理和符号表示, @代码实现思路.md 解释了具体的代码实现思路
3. 请将代码实现以 jupyter notebook 的形式放在 @spam_detector.ipynb 中
4. 不要在 notebook 中加入任何不必要的 markdown 说明,如果有必要的话,可以适当给出代码的 python 注释(尤其是定义的变量对应于 @数学原理.md 中的 什么符号表示)
5. 你可以不必急于立刻给出代码实现,你可以先简单熟悉下数据集的格式,并认真阅读 @/docs 目录中的文档,在你确定你完全准备好了以后,再开始写代码spam_detector.ipynb- 主要实现代码dataset.csv- Ling-Spam 数据集docs/- 文档目录数学原理.md- 算法数学基础代码实现思路.md- 实现指导
运行 spam_detector.ipynb 中的所有单元格即可训练和测试模型。
- 准确率: 98.79%
- 精确率: 93.20%
- 召回率: 100.00%
- F1 分数: 96.48%
在生成过程中,除了严格按照文档要求实现核心算法外,还额外添加了词汇重要性分析功能(analyze_word_importance 方法)。