Django 垃圾短信分类

背景:
给出任意一条短信,判断其是否为垃圾短信
https://github.com/cuixuage/Machine_Learning

模型源码

Django交互源码

-

对于垃圾短信分类问题做一个demo展示
1.前端ajax+后端Django
2.训练的数据模型的存放在static中;单例模式保证了训练模型只会加载一次
3.缺点: 第一次打开页面花费时间较长,需要等待server加载资源完毕。 (异步操作如何解决???)

算法模型:
朴素贝叶斯 ; jieba分词;SK-learn中的countvectorizer提取文本的特征;
注:特征提取有多种方法 也进行试验了IG MI WLLR方式

效果如下:

不同特征提取方式对比
Recall 被预测正确的垃圾短信 占据所有被预测为垃圾短信的比例
Precision 被预测正确的垃圾短信 占据所有真实垃圾短信的比例

Naive Bayes
CountVectorizer
Recall: 0.976744186047
Precision: 0.867826279637

MI
len_termset: 329322
(640000, 50000)
(160000, 50000)
Recall: 0.835363929045
Precision: 0.868592057762
1052.95700002 s

IG
len_termset: 329322
(640000, 50000)
(160000, 50000)
Recall: 0.983839404078
Precision: 0.824297879092
3128.33699989 s

WLLR
len_termset: 329322
(640000, 50000)
(160000, 50000)
Recall: 0.98232434821
Precision: 0.841954333947
4560.56900001 s

这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/u014297722/article/details/78822635
今日推荐