邮件分类器的构建、测试与优化
1. 训练数据的准备
在构建邮件分类器时,我们需要准备训练数据,包括垃圾邮件(spam)和正常邮件(ham)的训练数据。
1.1 垃圾邮件训练数据
在定义分类器时,使用原始计数数据和后续密度作为训练数据可能会过度加权某些类型的垃圾邮件,比如包含 HTML 表格的垃圾邮件。因此,更好的方法是根据包含某个术语的邮件数量来定义邮件为垃圾邮件的条件概率。
1.2 正常邮件训练数据
为了平衡训练数据,我们使用简单正常邮件(easy ham)来构建正常邮件训练数据。虽然可以将困难正常邮件(hard ham)纳入训练集,但在本次练习中,我们仅使用 data/easy_ham 文件夹中的前 500 封邮件来构建训练数据。这是因为我们假设每封邮件是正常邮件或垃圾邮件的概率相等,而我们只有 500 封垃圾邮件,所以将正常邮件训练集也限制为 500 封邮件。
构建好正常邮件训练数据后,我们可以对其进行检查,例如查看出现频率较高的术语:
head(easyham.df[with(easyham.df, order(-occurrence)),])
term frequency density occurrence
3553 yahoo 185 0.008712853 0.180
966 dont 141 0.006640607 0.090
2343 people 183 0.008618660 0.086
187
超级会员免费看
订阅专栏 解锁全文
5945

被折叠的 条评论
为什么被折叠?



