本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:【j2开奖】教程 | 初学文本分析:用Python和scikit(3)

时间:2017-05-07 11:44来源:本港台直播 作者:本港台直播 点击:
测试集包含 130 封垃圾邮件 和 130 封非垃圾邮件。如果你已经走到了这一步,你将会发现以下结果。我已经展示出了对这两个模型的训练集的混淆矩阵(

测试集包含 130 封垃圾邮件 和 130 封非垃圾邮件。如果你已经走到了这一步,你将会发现以下结果。我已经展示出了对这两个模型的训练集的混淆矩阵(confusion matrix)。对角元素表示正确识别(也叫真识别)的邮件,其中非对角元素表示邮件的错误分类(假识别)。

wzatv:【j2开奖】教程 | 初学文本分析:用Python和scikit

除了 SVM 具有稍微平衡的假识别之外,这两个模型在测试集上具有相似的表现。我必须提醒你,测试数据既没有在创建词典使用,也没有用在训练集中。

你的任务

下载 Euron-spam 语料库()的预处理表格。该语料库在 6 个目录中包含了 33716 封邮件,其中包含「ham」和「spam」文件夹。非垃圾邮件和垃圾邮件的总数分别为 16545 和 17171。

遵循本文章中描述的相同步骤,并检查它如何执行支持向量机和多项式朴素贝叶斯模型。由于该语料库的目录结构不同于博客文章中使用的 ling-spam 子集的目录结构,因此你可能需要重新对其组织或在 def make_Dictionary(dir) 和 def extract_features(dir) 函数中进行修改。

我将 Euron-spam 语料库以 60:40 的比例分成训练集和测试集。执行本博客的相同步骤后,我在 13487 封测试集邮件中得到以下结果。我们可以看到,在正确检测垃圾电子邮件方面的表现,支持向量机(SVM)略优于朴素贝叶斯分类器。

wzatv:【j2开奖】教程 | 初学文本分析:用Python和scikit

最后的感想

我试图保持教程的简洁性。希望对文本分析感兴趣的初学者可以从这个应用程序开始。

你可能会思考朴素贝叶斯和支持向量机(SVM)背后的数学技术。支持向量机(SVM)在数学上是较为复杂的模型,但朴素贝叶斯相对容易理解。我鼓励你从在线资源中学习这些模型。除此之外,你可以进行很多实验以便发现各种参数的效果,比如

训练数据的数量

词典的大小

不同的机器学习技术,比如 GaussianNB、BernoulliNB、SVC)

对支持向量机模型参数进行调优

通过消除不重要的词(可以手动)以改进词典

一些其它的特征(可搜索 td-idf 了解)

你可以从 GitHub 获得这两种语料库的完整 Python 实现:https://github.com/abhijeet3922/Mail-Spam-Filtering。

  原文链接:

↓↓↓

  

wzatv:【j2开奖】教程 | 初学文本分析:用Python和scikit

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容