超强垃圾短信检测系统:助你轻松识别垃圾短信

作品简介

在现代社会,垃圾短信已成为困扰我们日常生活的常见问题。不论是诈骗短信、广告推销,还是恶意链接,这些垃圾信息不仅打扰我们的正常生活,更可能带来严重的安全隐患。今天,我们为您带来一款强大的中文垃圾短信检测系统,基于先进的机器学习技术,助您高效识别垃圾短信,保障信息安全!




🚀 项目亮点

1. 支持多种机器学习模型

该系统内置了多种经典的机器学习算法,包括:

  • 朴素贝叶斯 (Naive Bayes)
  • 逻辑回归 (Logistic Regression)
  • 支持向量机 (SVM)

用户可以根据需求选择不同的模型进行训练与测试,以确保最佳的分类效果。

2. 强大的文本处理能力

  • CountVectorizerTF-IDF 支持,确保灵活处理文本数据。
  • 支持n-gram设置,可自定义 1-gram 到 2-gram 词组处理。
  • 停用词过滤,自动过滤无意义的常用词,提升模型准确率。

3. 可视化分析

检测结果一目了然,支持:

  • 混淆矩阵可视化
  • 精准率、召回率、F1-score等评估指标

所有图表均自动生成,方便用户理解模型效果。

4. 灵活的超参数设置

  • 使用命令行参数控制模型的训练过程。
  • 支持调整 alpha 平滑参数、ngram 范围等参数。

5. 日志记录与错误处理

  • 自动记录训练过程,包括模型选择、超参数、测试结果等。
  • 发生异常时自动记录错误日志,方便后续排查问题。


🎯 技术原理与实现细节

本系统采用了Python + scikit-learn机器学习框架,结合了以下技术原理:

  1. 文本向量化:将短信内容通过 CountVectorizer 或 TF-IDF 转换为特征矩阵。
  2. 数据集分割:使用 train_test_split 按 8:2 的比例将数据集分为训练集和测试集。
  3. 模型训练与评估:使用朴素贝叶斯、逻辑回归、SVM 进行训练,并计算准确率、召回率、F1-score。
  4. 可视化分析:通过 matplotlibseaborn 实现混淆矩阵可视化。


📊 效果展示

训练完成后,系统会生成一份清晰的报告,包括:

  • 准确率 (Accuracy)
  • 精准率 (Precision)
  • 召回率 (Recall)
  • F1-Score
  • AUC 曲线(如支持概率预测)

此外,还会生成一份直观的混淆矩阵图,帮助用户理解模型在各类短信上的分类效果。

在测试集上的混淆矩阵:

 [[126342  1099]

 [  830 13319]]

在测试集上的分类结果报告:

        precision  recall f1-score  support


      0    0.99   0.99   0.99  127441

      1    0.92   0.94   0.93   14149


  accuracy              0.99  141590

  macro avg    0.96   0.97   0.96  141590

weighted avg    0.99   0.99   0.99  141590


在测试集上的Accuracy: 0.9864

Precision: 0.9238

Recall: 0.9413

F1 score: 0.9325

AUC: 0.9887

模型Pipeline已保存到: sms_spam_pipeline.pkl

示例测试: ['乌兰察布丰镇市法院成立爱心救助基金', '感谢致电杭州萧山全金釜韩国烧烤店,本店位于金城路xxx号。韩式烧烤等,价格实惠、欢迎惠顾【全金釜韩国烧烤店】', '免费领取优惠券,点击链接即可兑换']

预测结果: [0 1 0]

📦 如何使用?

  1. 安装依赖
pip install -r requirements.txt
  1. 训练模型
python main.py --data_path ./dataset/sms_pub.csv --model naive_bayes --vectorizer tfidf
  1. 预测测试
python main.py --data_path ./dataset/sms_pub.csv --model logistic
  1. 模型保存与加载
  • 训练完成后,模型会自动保存为 sms_spam_pipeline.pkl,方便后续直接加载进行预测。


🛠️ 应用场景

  1. 短信防骚扰服务:集成到手机或运营商平台,自动过滤垃圾短信。
  2. 企业内部邮件过滤:可用于邮件服务器端的恶意邮件检测。
  3. 智能客服系统:在客户服务系统中识别潜在的恶意消息。


创作时间: