垃圾邮件分类 - 机器学习

     2023-03-13     179

关键词:

【中文标题】垃圾邮件分类 - 机器学习【英文标题】:spam classification - machine learning 【发布时间】:2014-04-21 05:44:25 【问题描述】:

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

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

之后,我可以使用 tf-idf 衡量垃圾邮件中的特征/术语的权重。 接下来,我以非常低和非常高的频率移除这些特征。 然后我可以对我的电子邮件进行分类。对吧?

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

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

您能否告诉我这些电子邮件分类步骤是否可行? 如果不是,请说明垃圾邮件分类的正确步骤。

【问题讨论】:

斯坦福大学在coursera 和CS229 第5 讲的机器学习课程中都使用垃圾邮件分类作为示例 【参考方案1】:

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

1- 输入:一个带标签的训练集,包含足够多的垃圾邮件和合法电子邮件样本

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

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

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

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

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

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

【讨论】:

机器学习:13-垃圾邮件分类2

1.读取2.数据预处理3.数据划分—训练集和测试集数据划分fromsklearn.model_selectionimporttrain_test_splitx_train,x_test,y_train,y_test=train_test_split(data,target,test_size=0.2,random_state=0,stratify=y_train)4.文本特征提取skl 查看详情

机器学习

...  分类预测出来的变量是离散的(比如对邮件的分类,垃圾邮件和非垃圾邮件),对 查看详情

机器学习入门-基本概念

...监督学习。2、标签,即y值,结果,以通过机器学习过滤垃圾邮件为例,标签为邮件是垃圾邮件,或不是垃圾邮件3、特征,即x值,输入变量,通常有多个特征,如根据发件人、邮件标题等特征来判断是否为垃圾邮件4、样本,机... 查看详情

模式识别与机器学习——logisticregression

...所预测的目标变量的取值是离散的(例如判断邮件是否为垃圾邮件)。当然,为了便于理解,我们从二值分类(binaryclassification)开始,在这类分类问题中,y只能取0或1。更好的理解问题,先举个小例子:假如我们要制作一个垃... 查看详情

00.andrew机器学习week1

...beingexplicitlyprogrammed.T:明白任务是什么,比如将邮件分为垃圾邮件(1)和正常邮件(0)E:有足够的经验来供模型学习P:有一定判断来度量学习情况的好坏课程内容机器学习算法监督学习(有label)分类:label是离散的(垃圾邮... 查看详情

机器学习绪论

...问题都是无法用语言进行准确描述,我们在这里以一个反垃圾软件系统为例。如果我们需要建立一个反垃圾邮件系统,传统的手段没有办法很好的解决。对于这个问题,我们可以如下分析:1)通过人工手段判断可以简单分辨的... 查看详情

机器学习笔记ml01c

 贝叶斯分类器*在垃圾邮件包含某个词的比例是多少(贝叶斯分类器)*(贝叶斯分类器)记录游戏用户(玩多久。花多少的钱,与朋友互动有多少),从中机器学习,看看他离开的概率有多少,从而可以送一些道具给他,或... 查看详情

机器学习基础(代码片段)

...amily:微软雅黑;font-size:10pt机器学习应用最早的机器学习:垃圾邮件分辨,对于邮件如何判断邮件是否是垃圾邮件呢传统的解决思路:编写规则,定义"垃圾邮件",让计算机执行1.编写一个传统算法,定义"垃圾邮件",让计算机执行... 查看详情

利用朴素贝叶斯(naviebayes)进行垃圾邮件分类

...问题上。这篇文章是基于自己的学习所整理。并利用一个垃圾邮件分类的样例来加深对于理论的理解。这里我们来解释一下朴素这个词的含义:1)各个特征是相互独立的,各个特征出现与其出现的顺序无关;2)各个特征地位同... 查看详情

机器学习介绍

机器学习:让机器去学习 1.举一个栗子e.g.传统垃圾邮件分类问题传统解决思路:设定规则,定义“垃圾邮件”,让计算机去执行规则。问题:对很多问题规则难以定义,比如识别一只猫或人脸识别。且规则总在不断变化。新... 查看详情

机器学习分类

...本 sample特征  feature分类任务(二分类)分辨垃圾邮件,分辨股票涨跌   多分类任务,数字识别,图像识别,判断发送给客户信用卡的风险 2048自动  &nbs 查看详情

1.机器学习简述

...经验E学习任务T,他的性能P会随着经验E不断增长。例如垃圾邮件过滤器,传统的编程技术只是针对指定的关键词(creditcard,salehouse)进行过滤。如果出现新的关键词保险,则需要更新标记。基于机器学习的垃圾邮件过滤器会自... 查看详情

机器学习实战----使用python和scikit-learn构建简单分类器(代码片段)

...习使用Python和Scikit-Learn创建一个简单的文本分类器来识别垃圾邮件。我们将先介绍数据集,并通过可视化和数据预处理方式更好地理解数据集。接着,我们将选择一个算法并使用训练集拟合它。最后,我们将评估该分... 查看详情

机器学习——朴素贝叶斯算法

...拉斯修正防溢出策略样例解释代码——使用拉普拉斯进行垃圾邮件分类构建文本向量从词向量到计算概率朴素贝叶斯分类器分类函数垃圾邮件分类总结朴素贝叶斯是有监督学习的一种分类算法,它基于“贝叶斯定理”实现... 查看详情

机器学习算法整理—贝叶斯算法_实现垃圾邮件过滤

垃圾邮件过滤实例  查看详情

机器学习简介

...回归问题、排序问题和生成问题。分类问题如图像识别,垃圾邮件识别;回归问题和分类问题类似,不同点在于分类问题给出的是标签,回归问题给出的是数据,如股价预测,房价预测;排序问题有点击率预估、推荐;生成问题... 查看详情

机器学习中的precisionrecallaccuracyf1score

...设,我们要对某一封邮件做出一个判定,判定这封邮件是垃圾邮件、还是这封邮件不是垃圾邮件?如果判定是垃圾邮件,那就是做出(Positive)的判定 查看详情

机器学习逻辑回归

...#xff09;。分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈;之前我们也谈到了肿瘤分类问题的例子,区别一个肿瘤是恶性的还是良性的。我们从二元的分类问题开始讨论。我们... 查看详情