机能测试
这里我们的测试集中包含 130 封垃圾邮件和 130 封非垃圾邮件,如不雅你已经顺利完成了之前的所有步调,那么你将会获得如下的结不雅。这里显示的昵嘟个模型在测试数据中的混淆矩阵,对角元素代表了精确识其余邮件数,非对角元素代表的则是缺点的分类。

可以看到,两个模型在测试集上有着邻近的机能,但 SVM 更偏向垃圾邮件的剖断。须要留意的是,这里的测试数据集既没有效于创建字典,也没有效于模型练习。
拓展
感兴趣的同伙可以按照上文所述的步调进行一些拓展,这里介绍拓展相干的数据库和结不雅。
拓展应用的是已经预处理好的 Euron-spam 数据库,个中包含了 6 个目次,33716 封邮件,每个目次中都包含非垃圾邮件和垃圾邮件子目次,非垃圾邮件和垃圾邮件的总数分别为 16545 封和 17171 封。Euron-spam 库的下载链接如下:
http://t.cn/RK84mv6
须要留意的是,因为 Euron-spam 数据库的组织情势有别于上文提到的 ling-spam 库,是以上文的一些函数也须要做少量的修改才能应用于 Euron-spam。
这里我们将 Euron-spam 数据库按照 3:2 的比例分为练习集和测试集,按照上文的步调,我们在 13478 封测试邮件中获得了如下结不雅:

可以看到,SVM 的表示略胜于朴实贝叶斯。
总结
在本文中我们尽量坚削发单易懂的论述,省略了很多技巧性强的讲解和名词。我们欲望这是一篇简单易懂的教程,欲望这篇教程可以对文本分析感兴趣的初学者们有所裨益。
有些同伙可能会对朴实贝叶斯模型和 SVM 模型背后的数学道理认为好奇,这里须要指出的是,SVM 在数学上属于比较复杂的模型,老诚素贝叶斯则相对更轻易懂得一些。我们当然鼓励对数学道理感兴趣的同慌绫乔深刻摸索,关于这些数学模型网上有异常具体的教程和实例。除此之外,采取不合的方法实现同一个目标,也是一种很好的研究办法。例如可声调节如下一些参数,不雅察它们对垃圾邮件过滤的实际效不雅的影响:
a) 练习数据的大年夜小
b) 词典的大年夜小
c) 不合的机械进修模型,包含 GaussianNB,BernoulliNB,SVC
d) 不合的 SVM 模型参数
e) 删除可有可无的词来改进词典 (例如手动删除)
f) 采取其他特点模型 (寻找 td-idf)
http://t.cn/R6ZeuiN
本文转自雷锋网,原文来自一篇国外大年夜神的博客,由雷锋网字幕组 彭艳蕾、林立宏 两位组员合营编译完成。
【编辑推荐】
- R vs Python:R是如今最好的数据科学说话吗?
- 一文详解神经收集 BP 算法道理及 Python 实现
- 详解基于朴实贝叶斯的情感分析及 Python 实现
- 大年夜情况设置到内存分析:Python代码优化指南
- 大年夜零开端教你用Python做词云
推荐阅读
【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! 云知声CTO梁家恩 梁家恩,云知声CTO.2001年卒业于中国科技大年夜学,2006年卒业于中国科学院主动化研究所,获博士学>>>详细阅读
本文标题:手把手教你用 Python 和 Scikit-Learn 实现垃圾邮件过滤
地址:http://www.17bianji.com/lsqh/36312.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示