垃圾邮件分类 - 机器学习

时间:2014-03-15 22:03:37

标签: machine-learning classification spam-prevention

我必须使用一些分类器(例如Naive Bayes,SVM和另一个分类器)进行垃圾邮件检测应用程序并比较它们的效率,但不幸的是我不知道我该怎么做。

这是否正确: 首先,我应该有语料库垃圾邮件,如trec2005,spamassasin或enron-spam。 然后,我进行文本预处理,如词干,停止单词删除,标记化等。

之后,我可以使用tf-idf在垃圾邮件中测量我的功能/条款的权重。 接下来,我以非常低和非常高的频率移除这些功能。 然后我可以对我的电子邮件进行分类。正确?

之后,我可以通过真阳性,假阳性等来衡量我的正确分类。

如果需要10倍的交叉验证? 我应该如何使用它?

您能告诉我这些电子邮件分类的步骤是否正常? 如果没有,请解释垃圾邮件分类的正确步骤。

1 个答案:

答案 0 :(得分:5)

以下是构建垃圾邮件分类器所需的大致步骤:

1- 输入:标记的培训集,其中包含足够的垃圾邮件和合法电子邮件样本

2- 功能提取:将您的电子邮件文本转换为有用的功能,例如用于培训词干,删除停用词,词频。然后评估这些特征(即应用属性选择方法)以选择最重要的特征。

3-如果您有足够大的数据集,请将其拆分为培训,验证和测试集。如果不是,您可以使用整个数据集进行培训,并进行交叉验证以评估分类器性能

4- 训练您的分类器并使用测试数据来评估其性能或进行交叉验证

5-使用训练有素的模型对新电子邮件进行分类。完成。

交叉验证的使用是评估您在新/未看到的数据上的模型性能。因此,如果您有一个独立的测试数据集,则可能根本不需要交叉验证,因为您可以评估测试数据集上的模型性能。但是,当您的数据集很小时,您可以将其划分为子集(例如10倍),然后重复训练10次,每次只使用90%的数据并测试剩余的10%,依此类推。

最终会得到10个分类器误差平均值的估计值,以得到均方误差或绝对误差

相关问题