Skip to content

JinyuanShao/spam-message-classifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 

Repository files navigation

spam-message-classifier 中文垃圾短信分类器

This is a project from Web Data Mining course of UCAS

使用jieba分词包及多种机器学习分类法进行中文文本分类

国科大网络数据挖掘课程大作业

本项目基于python中文分词包jieba进行分词,使用六种算法进行垃圾短信分类,达到了较好的效果

jieba分词包的使用参考:https://github.com/fxsjy/jieba

环境

  • Python 2/3
  • pandas
  • numpy
  • jieba
  • scikit-learn
  • PHP

数据集

使用老师给的带有标签的数据集进行训练与验证

使用老师给的不带有标签的数据集进行测试

数据集划分:

  • 训练集:50000
  • 测试集:10000

部分训练数据

0	商业秘密的秘密性那是维系其商业价值和垄断地位的前提条件之一
1	南口阿玛施新春第一批限量春装到店啦  春暖花开淑女裙、冰蓝色公主衫  气质粉小西装、冰丝女王长半裙、皇
0	带给我们大常州一场壮观的视觉盛宴
0	有原因不明的泌尿系统结石等
0	23年从盐城拉回来的麻麻的嫁妆
0	感到自减肥、跳减肥健美操、
1	感谢致电杭州萧山全金釜韩国烧烤店,本店位于金城路xxx号。韩式烧烤等,价格实惠、欢迎惠顾【全金釜韩国烧烤店】
0	这款UVe智能杀菌机器人是扫地机的最佳伴侣
1	一次价值xxx元王牌项目;可充值xxx元店内项目卡一张;可以参与V动好生活百分百抽奖机会一次!预约电话:xxxxxxxxxxx
0	此类皮肤特别容易招惹粉刺、黑头等

部分测试数据

.x月xx日推出凭证式国债x年期x.xx.xx%,x年期x.xx%到期一次还本付息。真情邮政,为您竭诚服务!  咨询电话xxxx-xx
x强度等级水泥的必要性和可行性进行深入研究
Don’tSellaProduct
以上比赛规则由江苏科技大学教职工摄影协会负责解释
坐12个小时飞机身体已经疲惫不堪

数据预处理

  • data_loading(): 加载数据
  • split_word(): 对所有数据利用jieba分词并保存

分词结果

【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学

【精确模式】: 我/ 来到/ 北京/ 清华大学

【新词识别】:他, 来到, 了, 网易, 杭研, 大厦    (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了)

【搜索引擎模式】: 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造
  • vector_word(): 生成词向量矩阵并保存

TF-IDF

TF-IDF是Text Frequency – Inverse Document Frequency的缩写,很显然从字面意思上,TF-IDF是由两部分组成的,前半部分是词频,后半部分是逆文档频率。TF-IDF是衡量单词重要性的一种指标。

具体参考 https://en.wikipedia.org/wiki/Tf%E2%80%93idf

分类器

  • 逻辑回归分类器
  • 随机森林分类器
  • 决策树分类器
  • 梯度提升树分类器
  • 多项式分布的朴素贝叶斯
  • 伯努利分布的朴素贝叶斯

验证方法

model_selection.cross_validation()中的五折交叉验证

训练结果

展示demo

总结与经验教训

About

This a a project from Web Data Mining course of UCAS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published