垃圾邮件分类算法的研究与分析
贝叶斯分类算法在垃圾邮件识别中的应用

贝叶斯分类算法在垃圾邮件识别中的应用随着互联网的发展,人们需要面对海量的邮件信息。
但是,这其中存在着大量的垃圾邮件,给人们的邮箱带来巨大的“麻烦”。
早期的垃圾邮件过滤算法主要采用黑名单和白名单的方式来判断邮件的类别,但这种方法容易受到攻击者的欺骗,容易误判正常邮件。
后来,贝叶斯分类算法逐渐流行起来,成为了垃圾邮件分类的一种重要手段。
一、贝叶斯分类算法简介贝叶斯分类算法是一种基于贝叶斯定理的分类算法。
它的原理是:根据已知的一些样本,通过统计分析计算出分类的概率分布,从而实现对未知数据的分类。
以垃圾邮件分类为例,贝叶斯分类算法会基于一些已知的垃圾邮件和正常邮件进行学习,计算出垃圾邮件和正常邮件的概率分布。
当有新邮件来到时,根据邮件内容的特征判断该邮件的类别,并通过计算该邮件属于垃圾邮件的概率大小来决定是否将其过滤。
二、贝叶斯分类算法在垃圾邮件识别中的应用1. 特征提取在使用贝叶斯分类算法进行垃圾邮件分类之前,必须对邮件进行特征提取。
这些特征可以是邮件的主题、发件人、收件人、时间、内容等。
将这些特征数字化,可以使贝叶斯分类算法更加容易处理,提高分类的准确性。
2. 训练算法以垃圾邮件分类为例,首先需要准备一些垃圾邮件和正常邮件的数据集,并将这些数据集分成训练集和测试集。
训练集用来训练分类器,测试集用来测试分类器的准确度。
训练算法的核心是计算先验概率和条件概率。
先验概率指在不考虑任何特征的情况下,一个邮件是垃圾邮件或正常邮件的概率。
在已有的数据集中,垃圾邮件和正常邮件出现的概率可以很容易地计算出来。
条件概率指在某些特征条件下,一个邮件是垃圾邮件或正常邮件的概率。
贝叶斯分类算法通过统计学习的方法计算出各个特征条件下垃圾邮件和正常邮件的概率,从而实现对新邮件的分类。
3. 过滤垃圾邮件当有新邮件到来时,贝叶斯分类算法会根据该邮件的各个特征,计算出该邮件属于垃圾邮件的概率大小。
如果该概率大于某个设定的阈值,则认为该邮件是垃圾邮件,反之则认为该邮件是正常邮件。
基于朴素贝叶斯的垃圾邮件分类算法研究

基于朴素贝叶斯的垃圾邮件分类算法研究引言随着互联网的发展,我们的电子邮件的数量也越来越多。
人们接受电子邮件的速度和效率变得更高,但同时也伴随着垃圾邮件的增长。
垃圾邮件往往会带来许多问题,例如浪费时间和网络资源,甚至可能传播病毒和诈骗。
因此,我们需要有效的筛选算法来区分垃圾邮件和正常邮件。
本文将讨论朴素贝叶斯的垃圾邮件分类算法。
朴素贝叶斯算法朴素贝叶斯算法是一种基于贝叶斯定理的分类方法。
该算法使用已知的类别和相关特征来推断未知的类别。
对于一个待分类的对象,朴素贝叶斯算法会首先将其描述为已知类别的特征的集合,然后根据贝叶斯定理来计算其属于每个类别的概率,并选择概率最大的类别作为分类结果。
贝叶斯定理表达式如下:P(A|B) = P(B|A) * P(A) / P(B)其中,P(A|B)是在给定B的情况下,A的条件概率。
P(B|A)是在给定A的情况下,B的条件概率。
P(A)和P(B)分别是A和B的概率。
朴素贝叶斯算法假定每个特征都是独立的,这意味着特征之间的关系可以无视。
在实际应用中,该假设并不总是成立。
例如,在垃圾邮件分类中,标题和正文的内容通常是相关的。
但是,在一个大规模的特征空间下,这种假设可以使算法更简单且更快速地运行,同时取得令人满意的结果。
垃圾邮件分类应用垃圾邮件分类是朴素贝叶斯算法的典型应用之一。
我们将说明如何使用朴素贝叶斯算法来分类垃圾邮件和正常邮件。
首先,我们需要从邮件中提取特征。
为了分类邮件,我们需要确定哪些特征是更有信息量的。
例如,单词的数量或单词的出现频率可能是一个有用的特征。
因此,我们可以基于这些因素来确定特征。
接着,我们需要计算在给定特征条件下,垃圾邮件和正常邮件的概率。
为了训练分类器,我们需要一组已标记的邮件数据集。
在朴素贝叶斯算法中,我们需要计算每种特征在垃圾邮件中出现的概率和在正常邮件中出现的概率,并将这些概率用于计算分类邮件时的条件概率。
这些概率可以通过计算数据集中特征出现的频率以及垃圾邮件和正常邮件的数量来估算。
基于机器学习的垃圾邮件过滤算法的实验报告

基于机器学习的垃圾邮件过滤算法的实验报告引言:垃圾邮件是互联网时代普遍存在的问题,不仅浪费用户的时间和带宽,也会带来信息安全隐患。
为了解决这个问题,基于机器学习的垃圾邮件过滤算法得到了广泛的研究和应用。
本实验报告将介绍我们设计的基于机器学习的垃圾邮件过滤算法,并通过实验评估其性能和效果。
一、算法设计与实现1. 数据收集与预处理本实验使用了包含垃圾邮件和非垃圾邮件的数据集,其中垃圾邮件作为正例,非垃圾邮件作为负例。
我们从不同来源、不同领域的邮件中收集了大量数据,并进行了预处理,包括去除邮件头部信息、正则表达式过滤等。
2. 特征提取与选择我们从原始邮件中提取了一系列特征,包括邮件主题、发件人、收件人、邮件正文、附件等。
针对不同特征我们采用了不同的提取方式,如基于关键词匹配、文本分析、网络特征提取等。
为了避免维度灾难,我们使用了特征选择算法,从提取到的特征中选取了最具代表性和区分度的特征。
3. 模型选择与训练我们选择了支持向量机(SVM)作为垃圾邮件分类器的模型。
SVM 具有良好的泛化能力和分类性能,适用于处理高维稀疏特征的问题。
通过在训练集上进行模型训练,我们使用了交叉验证的方式来进行参数选择和调优,以提高分类器的性能和鲁棒性。
4. 模型评估与优化为了评估分类器的性能,我们将数据集划分为训练集和测试集,使用准确率、召回率、F1值等指标来评价算法的效果。
同时通过使用不同特征组合、参数调整等优化手段,来提高分类器的性能和泛化能力。
二、实验结果与分析我们将实验算法应用于收集的数据集上,并进行了多组实验。
结果显示,我们设计的基于机器学习的垃圾邮件过滤算法在不同数据集上均取得了较高的准确率和召回率。
通过对比实验,我们发现特征选择对算法性能的影响较大,选择合适的特征可以显著提高分类器的性能。
三、实验总结与展望通过本次实验,我们设计和实现了一种基于机器学习的垃圾邮件过滤算法,并对其进行了评估和优化。
实验结果表明,该算法在垃圾邮件过滤中具有较高的准确率和召回率,具有较好的应用前景。
电子邮件垃圾邮件过滤算法设计与实现

电子邮件垃圾邮件过滤算法设计与实现随着互联网的普及和电子邮件的广泛应用,垃圾邮件问题也逐渐增多,给用户的正常通信带来了很大的干扰。
为了过滤掉这些垃圾邮件,提高用户邮件收发的效率,电子邮件垃圾邮件过滤算法应运而生。
垃圾邮件过滤算法的目标是将真实邮件与垃圾邮件进行区分,将垃圾邮件过滤出去,确保用户只看到真实邮件。
下面,我们将介绍一种常见的垃圾邮件过滤算法的设计与实现。
1. 特征提取垃圾邮件过滤的第一步是特征提取。
通过分析邮件的各个方面特征,识别出垃圾邮件的特征,例如邮件主题、发件人地址、内容关键词等。
可以使用机器学习算法,如朴素贝叶斯算法、支持向量机等,来识别出这些特征。
2. 训练模型在特征提取的基础上,需要使用已标记的邮件数据集进行模型的训练。
将已分类好的邮件分为垃圾邮件和非垃圾邮件两个类别,训练出一个分类器。
该分类器将用于后续对新邮件的判断。
训练模型要充分考虑数据集的质量和数量,以及训练算法的选择。
3. 实时过滤训练好模型后,需要将其应用于实际的邮件过滤中。
每当有新邮件到来时,将该邮件的特征提取出来,并通过模型进行分类判断。
如果判断为垃圾邮件,则将其过滤掉,不再传送给用户。
如果判断为非垃圾邮件,则将其送达用户的收件箱。
4. 用户反馈与调整为了提高过滤的准确性,用户的反馈图像重要。
用户可以将被误判为垃圾邮件的邮件标记为非垃圾邮件,或将被误判为非垃圾邮件的邮件标记为垃圾邮件。
这些用户反馈将被用于对模型进行调整和优化,提高过滤算法的准确性和灵活性。
5. 非垃圾邮件保护垃圾邮件过滤算法要确保过滤的同时,尽量不漏掉用户真正想要接收的邮件。
因此,在过滤算法中,需要加入一些机制来保护非垃圾邮件的传送。
例如,设置白名单或黑名单机制,用户可以将特定的发件人或关键词加入名单,以确保这些邮件的传送。
6. 异常邮件处理在实际应用中,可能会遇到一些无法准确判断的邮件,例如含有恶意代码的邮件、模糊的邮件内容等。
对于这些邮件,可以设置一些策略,例如将其移动到特定的文件夹或将其标记为潜在垃圾邮件,以提醒用户谨慎处理。
深度学习算法在垃圾邮件分类中的效果研究与分析

深度学习算法在垃圾邮件分类中的效果研究与分析随着互联网的普及,人们越来越离不开电子邮件。
然而,垃圾邮件的大量存在影响了人们的电子邮件使用体验,甚至危及个人信息安全。
因此,垃圾邮件过滤技术成为网络安全领域的研究重点之一。
传统的规则匹配方法因为无法适应垃圾邮件的动态变化而逐渐失效,因此,深度学习算法逐渐成为垃圾邮件分类的新宠。
一、深度学习算法简介深度学习是一种以人工神经网络为基础的机器学习技术。
它通过大量的数据训练,模拟人类神经网络运行的过程,从而获取对数据进行识别、分类、预测等任务的能力。
深度学习具有自动学习、强大的数据建模和分析能力、适应复杂环境等优点。
目前深度学习算法主要有卷积神经网络(CNN)、循环神经网络(RNN)、长短时记忆网络(LSTM)、自编码器(AE)等。
深度学习算法的应用领域非常广泛,包括图像识别、语音识别、自然语言处理等。
二、传统垃圾邮件分类算法的局限性传统的垃圾邮件分类算法通常采用规则匹配的方法,即根据一些规则,如关键词、发件人地址、主题等对邮件进行判断,从而进行分类。
然而这种方法存在很多的限制和局限性。
1.规则的单一性:传统的垃圾邮件分类算法只能通过预先设置的规则对邮件进行筛选,如果遇到新类型的垃圾邮件,就需要修改规则,而这个过程需要人工参与,比较耗时和繁琐。
2.规则的复杂性:随着规则的增多,分类器的执行效率将会降低。
此外,网站和邮件垃圾信自身的复杂性也会增加,则规则张量将更大,使分类器难以应对。
3.规则的准确性:传统的垃圾邮件分类算法存在误判率较高的问题。
例如,英语中的一些常用单词可能会被认为是垃圾邮件的关键词,造成错误分类。
4.规则的稳定性:传统的垃圾邮件分类算法由于预先设置的规则的变化,导致分类系统的稳定性大大降低。
同时,垃圾邮件制造者也会针对已知的规则进行诈骗,导致传统的垃圾邮件分类算法很快就会失效。
三、深度学习算法在垃圾邮件分类中的应用效果深度学习算法近年来在垃圾邮件分类领域得到了广泛应用,取得了显著的效果。
基于机器学习的垃圾邮件分类系统研究

基于机器学习的垃圾邮件分类系统研究垃圾邮件是一个人人都不想面对的问题,但是我们每天都会收到许多垃圾邮件。
而这些垃圾邮件中可能包含着病毒、诈骗信息等,会对用户的账户和隐私产生威胁,因此垃圾邮件必须得到有效的处理。
为了解决这一问题,基于机器学习的垃圾邮件分类系统被引入实际使用中。
利用机器学习的分类算法可以有效地对垃圾邮件进行筛选,从而减少用户的负担,同时提高网络安全。
一、机器学习的分类算法机器学习的分类算法是指根据历史数据或样本来推断新的数据的类别。
分类算法可以分为有监督学习和无监督学习两种。
有监督学习是指从一组带有标签的数据中学习出一个分类器(函数),这个分类器可以用来预测新的数据的类别。
常见的有监督学习算法包括决策树、朴素贝叶斯算法和支持向量机等。
无监督学习是指从一组没有标签的数据中学习出一些相似的数据分组。
常见的无监督学习算法包括K-Means聚类算法等。
二、垃圾邮件分类的实现对于垃圾邮件分类来说,通常采用的是有监督学习的算法。
在实现垃圾邮件分类时,我们需要一定量的已经标记好了垃圾邮件和正常邮件的训练数据作为基础。
然后利用这些训练数据训练出一个分类器,再用这个分类器去预测新的邮件的类别。
常见的垃圾邮件分类算法有朴素贝叶斯算法,支持向量机等。
其中朴素贝叶斯算法是一种统计学算法,它利用贝叶斯定理计算垃圾邮件和非垃圾邮件的概率,以此来对两类邮件进行分类。
三、机器学习分类系统的应用利用机器学习算法实现垃圾邮件分类的系统可以广泛应用于网络安全方面。
由于垃圾邮件可能存在安全隐患,因此垃圾邮件分类系统可以有效地保护用户的账户和邮件隐私。
同时,垃圾邮件分类系统可以为网络管理员提供一个高效的工具,帮助他们识别垃圾邮件和非垃圾邮件,从而保护网络的安全。
垃圾邮件分类系统可以与网络安全设备协同工作,加强网络安全的保护。
四、机器学习分类系统的优化实际应用中,机器学习分类系统的性能会随着数据的增多而降低、过拟合等问题。
因此,为了提高机器学习分类系统的性能,需要对系统进行优化。
基于大数据技术的邮件分类与过滤研究

基于大数据技术的邮件分类与过滤研究一、背景介绍随着互联网技术的发展,人们的日常工作和生活中离不开电子邮件的使用,同时,垃圾邮件的侵扰也给人们带来了很大的困扰。
邮件分类与过滤技术的研究旨在解决这一问题,提高邮件工作的效率和安全性。
二、邮件分类与过滤的意义邮件分类与过滤技术是对邮件进行自动识别、分类和过滤的技术,它可以大大提高邮件的处理效率,降低人工干预的工作量,并且可以有效地识别垃圾邮件,避免用户受到垃圾邮件的骚扰和安全威胁。
三、邮件分类与过滤的技术路线邮件分类与过滤的技术路线通常包括以下几个步骤:1. 邮件数据采集和处理首先,需要对邮件数据进行采集,并进行预处理,包括去重、去噪、转换为统一格式等等。
2. 邮件特征提取在进行邮件的分类和过滤之前,需要将邮件数据转换成可供机器学习算法处理的特征向量,通常可以使用词袋模型或者向量空间模型等方法,将邮件内容和标题等信息转换成元素为词频的向量。
3. 邮件分类和过滤算法邮件分类和过滤算法通常可以分为两类:基于规则和基于机器学习的方法。
基于规则的方法通常需要由专家来提出规则,而基于机器学习的方法则是通过训练一定数量的标注数据来自动学习规则,具有更好的通用性和迁移性。
其中,常用的分类和过滤算法包括朴素贝叶斯、支持向量机等,同时,深度学习也在邮件分类和过滤中得到了广泛应用,例如卷积神经网络和循环神经网络等。
4. 邮件分类与过滤模型评估与优化对于构建好的邮件分类与过滤模型,需要进行评估和优化,其中评估的指标主要包括准确率、召回率和F1值等指标,优化的方法则包括调整特征提取方法、调整参数等。
四、基于大数据技术的邮件分类与过滤研究随着大数据技术的不断发展,邮件分类和过滤也在不断创新和提高,例如:1. 应用深度学习方法深度学习模型具有很好的特征提取和学习能力,目前在邮件分类与过滤中也得到了广泛的应用。
例如,利用卷积神经网络进行垃圾邮件分类,利用循环神经网络对多语言邮件进行分类等。
使用朴素贝叶斯对垃圾邮件分类实验原理

文章标题:深入探究朴素贝叶斯算法:垃圾邮件分类实验原理解析在信息爆炸的时代,电流信箱已经成为人们日常生活和工作中不可或缺的一部分。
然而,随之而来的垃圾邮件问题也一直困扰着人们。
为了解决这一问题,朴素贝叶斯算法被广泛应用于垃圾邮件分类实验中。
本文将深入探讨朴素贝叶斯算法在垃圾邮件分类实验中的原理和应用。
一、朴素贝叶斯算法简介朴素贝叶斯分类器是一种基于贝叶斯定理和特征条件独立假设的分类算法。
它被广泛应用于文本分类、垃圾邮件过滤、情感分析等领域。
朴素贝叶斯算法的核心思想是基于训练样本对文本进行建模,并根据文本中不同特征的出现概率来进行分类。
二、垃圾邮件分类实验原理解析1. 数据预处理:需要对收集到的邮件数据进行预处理,包括去除邮件中的特殊符号、停用词等。
2. 特征提取:接下来,需要从处理后的邮件数据中提取特征,常用的特征包括词袋模型和TF-IDF模型。
3. 训练模型:使用朴素贝叶斯算法对提取到的特征进行训练,得到垃圾邮件和正常邮件的概率分布。
4. 分类预测:根据训练好的模型,对未知的邮件进行分类预测,判断其是否为垃圾邮件。
三、朴素贝叶斯算法的优势和局限性1. 优势:朴素贝叶斯算法简单高效,对小规模数据表现良好,且易于实现和扩展。
2. 局限性:朴素贝叶斯算法忽略了特征之间的关联性,且对输入数据的分布假设较强。
四、个人观点和理解朴素贝叶斯算法作为一种经典的分类算法,在垃圾邮件分类实验中表现出了较好的效果。
然而,其在处理复杂语境和大规模数据时存在一定局限性。
我认为,在实际应用中,可以结合其他算法和技术,进一步提升垃圾邮件分类的准确率和效率。
总结回顾:通过本文的深入探讨,我们对朴素贝叶斯算法在垃圾邮件分类实验中的原理和应用有了全面、深刻和灵活的理解。
朴素贝叶斯算法的优势和局限性也使我们对其进行了全面的评估。
在未来的研究和实践中,我将继续深入研究和探索其他分类算法,以期进一步提升垃圾邮件分类的效果。
五、垃圾邮件分类实验中的技术挑战和解决办法在垃圾邮件分类实验中,我们面临着一些技术挑战。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
垃圾邮件分类算法的研究与分析西北工业大学计算机学院陕西西安 710129(School of Computer, Northwestern Polytechnic University Xi’an 710129 China)摘要:随着互联网的高速发展,电子邮件已经成为人们信息获取和信息交流的一个重要的渠道。
与此同时垃圾邮件也成为互联网上的一个日益严重的安全问题,引起了越来越多的社会大众和研究人员的重视和关注。
为了有效的分辨垃圾邮件,本文通过对训练数据进行相应的预处理及特征提取,分别使用朴素贝叶斯、C4.5决策树、支持向量机三种方法来对垃圾邮件进行分类,通过测试结果,比对各个分类算法的优劣,并进行了详细的分析。
关键词:垃圾邮件朴素贝叶斯C4.5决策树支持向量机Abstract:With the rapid development of the Internet, e-mail plays an important roles in people's information access and information exchange. At the same time, spam has become an increasingly serious security problem on the Internet, causing more and more attention of the community and researchers. In order to effectively distinguish the spam, this paper Pre-processings and extracts feature of the training data, and uses the NaiveBayes, C4.5 Decision Tree and SVM to classify the spam, Through the test results, compare and analysis the advantages and disadvantages of each classification algorithm.Keywords:spam NaiveBayes C4.5 Decision Tree SVM1 引言Internet 的问世带来了电子邮件业务的出现,网络技术的飞速发展促进了邮件服务的广泛普及及繁荣,电子邮件已经成为生活在信息时代的人们日常生活一个重要部分。
电子邮件不仅是一个信息交流的重要渠道,而且也是人们信息获取的重要途径之一。
随着互联网的普及,不仅人们的日常事务可以通过电子邮件来进行处理,而且越来越多正式和重要的信息也通过电子邮件来进行传达和交流。
随着电子邮件越来越普及和重要性的持续增长,一些商家和不法分子开始利用垃圾邮件这种方式来进行广告信息的传播和用户消费行为信息的获取。
根据无线服务机构Wireless Services Corporation 公司提供的一份最新调查显示,目前美国移动通信市场上所有的电子邮件服务当中,43%的都是垃圾信息,而年前垃圾邮件在电子邮件中的比例为18%。
而在国内,据有关部门统计,国内的电子邮件用户,平均每天发送的短信数量超过了3亿条。
邮件甚至被称为继报纸、广播、电视、网络之后的第五媒体。
不过在数量庞大的电子邮件背后,垃圾邮件的问题也愈加严重。
垃圾邮件可以说是因特网带给人类最具争议性的副产品之一,它的泛滥已经使整个因特网不堪重负,人们不得不花费大量时间来对付邮箱里的垃圾邮件。
在这样的情势下,制定切实可行的反垃圾邮件方案无疑是Internet的一个重要课题,而对于反垃圾邮件技术的研究也称为一个新的热点领域。
本文根据现有邮件分类的知识,结合训练数据集的特点,选择合适的分类算法,来实现对垃圾邮件的分类。
2 相关工作本文垃圾邮件的分类工作主要包括以下三个部分:文本数据预处理,数据集特征选择,分类算法的应用及结果分析。
2.1文本数据预处理根据提供的训练数据集及测试数据集,编写程序,提取数据集中所有单词及对应的频率,并更改数据格式,以矩阵的形式存储。
初步处理过后的训练数据集Pre-train1.csv第一行表示数据集中出现的所有单词、字母和数字属性共1000个,第2-9001行代表之前的9000条邮件训练数据集,对应第一行的单词,存储了每个单词出现的频率。
Pre -train1.csv 最后一列添加了label 标签,表明每一条数据的属性,ham 或spam 。
在Pre -train1.csv 的基础上,我们开始对数据集中的属性进行筛选,去掉统计出来的单个字母,纯数字,以及无意义词汇属性143条,得到最终的数据集Pre -train2.csv 共包含857个可靠单词属性,如图1所示,基于Pre -train2.csv 数据集,我们进行后续的特征提取。
图1 数据集格式2.2 特征提取2.2.1熵与信息增益熵是信息理论中一个非常重要的概念,表示任何一种能量在空间中分布的均匀程度,能量分布越均匀,越不确定,熵就越大。
Shannon 将熵应有于信息处理,提出了“信息熵”的概念。
信息熵是信息的量化度量,是衡量一个随机变量取值的不确定性程度令 X 为随机变量,如果 X 随机变量的变化越多,通过它获取的信息量就越大,X 的信息熵定义为:))(lb()()(i ii x p x p X H ∑-= (2-1)通过观察随机变量 Y 获得的关于随机变量 X 的信息熵定义为:))|(lb()|()()Y |(j i ii i ji y x p y x p y p X H ∑∑-= (2-2)信息增益是信息熵的差,表示在消除不确定性后获得的信息量,定义为:)|()()Y ,(IG Y X H X H X -= (2-3)信息增益是信息论中的一个重要概念,被广泛应用在机器学习领域。
对分类系统来说,计算信息增益是针对一个一个的特征项而言的,它通过统计某一个特征项t 在类别C 中出现与否的文档数来计算特征项t 对类别C 的信息增益[1],定义为考虑出现前后的信息熵之差,某个特征项的信息增益值越大,表示其贡献越大,对分类也越重要。
因此,在进行特征选择时,通常选取信息增益值大的若干个单词构造文本的特征向量。
本文中,训练数据集中有857个属性,全部参与训练效率过低,因此需要提取出有代表性的词汇,故选用信息增益的方式来从数据集中提取特征。
将处理过后的训练数据集导入到WEKA 软件中,并在预处理阶段使用AttributeSelection 界面中InfoGainAttributeEval 来进行信息增益特征提取,同时,将提取出来的特征属性按信息增益由高到低进行排列,结果如图2所示:图2 信息增益特征提取结果根据特征提取结果,选择信息增益排列前400的单词作为最终的训练集,并生成Pre -train(3).arff 数据集文件。
3 算法实验与分析实验部分采用自主程序设计和WEKA 数据挖掘工具相结合的方法,利用经过预处理的训练集,编写MA TLAB 程序进行垃圾邮件分类,同时,利用WEKA 软件中提供的多种常用的分类算法,进行实验。
最后对各种分类方法的优劣进行总结。
3.1朴素贝叶斯算法朴素贝叶斯分类器[2]是一种有监督的学习方法,其假设属性的值对给定类的影响而独立于其他属性值。
用贝叶斯网表达朴素贝叶斯的分类器如图3所示。
图 3 朴素贝叶斯网朴素贝叶斯后验概率[3]的计算公式如式(3-1)(|)()(|)()k k k P X x C c P C c P Cc X x P X x ======= (3-1)其中X 表示单词序列,C 表示分类。
其中(|)k P Xx C c ==的计算公式如式(3-2)(|)(|)k i i k iP X x C c P X x C c =====∏ (3-2)则分类结果C 的选择方式为式(3-3)((|))argmax i iC P C c X x === (3-3)实验部分使用两种方法来实现贝叶斯分类算法,分别是MATLAB 编写程序和WEKA 平台提供的NaiveBayes 算法。
MA TLAB 程序中,根据朴素贝叶斯公式,使用经过预处理的4000条数据作为训练集,实验结果如表1所示:表1 基于MATLAB的朴素贝叶斯实验结果训练数量/条训练属性条错误率40001500.0970在WEKA件中,使用9000条数据,400条属性作为训练集,在Classify条目下选择NaiveBayes分类算法,并选择Supplied test set作为训练模型评价方法,实验结果如表2所示:表2 基于weka平台的朴素贝叶斯分类算法实验结果ham spam total ham16951420spam61519580total23057010003.2 C4.5决策算法C4.5 算法是目前最具影响的决策树算法, 已广泛应用于数据分类领域,C4.5算法是在ID3算法的基础上改进过来的,不仅可以处理离散型描述属性,还可以处理连续性属性。
C4.5算法采用信息增益率作为选择分枝属性的标准,弥补了ID3算法在使用信息增益选择分枝属性时偏向于取值较多的属性的缺陷。
作为ID3 算法的改进算法,C4.5 算法克服了ID3算法的两大缺点:(1)ID3 算法使用信息增益作为评价标准来选择根节点和各内部节点中的分枝属性,信息增益的缺点是倾向于选择取值较多的属性,在某些情况下这类属性可能不会提供太多有价值的信息,而C4.5 算法采用信息增益率作为评价标准,克服了ID3算法的这点不足;(2)(2) ID3 算法只能处理描述属性为离散的数据集,而C4.5 算法既可以处理离散型描述性,又可以处理连续型描述属性。
C4.5 算法也是一种基于信息论的机器学习方法,其核心思想是通过分析训练数据集,在整个数据集上递归地建立一个决策树。
使用WEKA数据挖掘软件提供的C4.5 算法进行分类,实验结果如表3所示表3 C4.5决策树算法实验结果ham spam total ham4119420spam11569580total42257810003.3支持向量机算法支持向量机算法简称 SVM(Support Vector Machine)算法[4],该算法建立在统计学习理论中的 VC 维和结构风险最小化基础之上,并结合最优化理论来得到分类决策函数的分类算法。
其基本思想是寻找一个分类超平面,将两类样本分到超平面的两侧他在解决非线性问题、高维模式识别问题等许多问题中显示出许多优势,是统计学习理论中比较实用的算法之一,目前已在人脸识别、手写数字识别、文本分类[5]、信息检索等领域得到成功应用。