机器学习垃圾邮件检测【字数:12028】
垃圾邮件的检测和识别对改善互联网环境,提升人们工作生活质量具有重要意义。垃圾邮件数据集由600封电子邮件数据组成,它包括100个输入变量和1个输出变量。输出0代表正常邮件,1代表垃圾邮件。本课题采用了三种经典的机器学习算法逻辑回归、朴素贝叶斯、随机森林对垃圾邮件数据集进行了机器学习,并通过10折交叉验证评估了模型的学习效果。实验结果证明,逻辑回归和随机森林两种算法的表现要优于朴素贝叶斯算法。
目 录
1 引言 1
1.1课题研究背景 1
1.1.1垃圾邮件的产生 1
1.1.2垃圾邮件的危害 1
1.2课题研究的现实意义与应用前景 2
2 机器学习工具与算法选择 4
2.1机器学习工具 4
2.2算法选择 4
2.2.1逻辑回归 5
2.2.2朴素贝叶斯 5
2.2.3随机森林 6
3 实验设计与结果 8
3.1数据预处理 8
3.1.1导入标准库和数据集 8
3.1.2处理重复数据与缺失数据 9
3.1.3特征缩放 10
3.2算法实现和结果 12
3.2.1逻辑回归的实现与结果 12
3.2.2朴素贝叶斯的实现与结果 15
3.2.3随机森林的实现与结果 16
3.3基于本章实验的一些思考 17
4 K折交叉验证与结果比较 19
4.1 K折交叉验证与K值选择 19
4.2 10折交叉验证算法实现 20
4.3结果比较 22
结语 24
参考文献 25
致谢 26
引言
1.1课题研究背景
1.1.1垃圾邮件的产生
自10年以来,移动互联网飞速发展,电子邮件作为其在现实生活中的应用之一,以价格低廉,通信迅速等优势,快速发展成了人们信息交互的主要手段和渠道。但与此同时,也被垃圾邮件制造者们所利用,作为用来传播各种不良信息及商业广告的工作,对人们的工作与生活造成困扰的同时,也对互联网环境和资源造成了严重破坏, *好棒文|www.hbsrm.com +Q: ¥351916072$
从各种方面带来了极大的危害,因此反垃圾邮件的技术研究是目前一项势在必行的工作。
历史上第一封垃圾邮件出现于1994年,两名美国律师夫妇专门从事移民生意,他们以Green Card Spam为标题在互联网上将邮件发送给了六千多个邮箱[1]。在历史上这是第一次较为著名的垃圾邮件事件,经历过此事件之后,人们逐渐开始意识到了垃圾邮件问题的危害和严重性。
垃圾邮件问题是电子邮件在发展过程中必然出现的副产品,在英文语境中垃圾邮件有一个专门的单词叫做Spam,1996年英文中还出现了UBE(Unsolicited Bulk Email)和UCE(Unsolicited Commercial Email)分别用于形容被塞入用户邮箱且未经允许的邮件以及具有商业广告性质的垃圾邮件。
1.1.2垃圾邮件的危害
(1)垃圾邮件的泛滥一定程度上阻碍了互联网的发展,占用了用户和企业大量的运算,传输和存储资源,对公共网络资源和用户计算机存储资源造成了极大的浪费。
(2)垃圾邮件作为互联网社会不良信息的主要载体和传播途径的同时,也是病毒快速传播的载体和工具,危害了用户安全和现实社会[2]。并且垃圾邮件具有的多种特性如反复性、欺骗性、强制性以及极快的传播速度都决定了垃圾邮件可以严重干扰用户个人的正常生活,用户的信息安全在这样的环境下难以得到保障。经由垃圾邮件传播的各种虚假信息乃至有害信息,也对现实社会的稳定造成了严重危害。
(3)收件箱中如果充斥着各种各样的垃圾邮件,就会迫使用户浪费大量的时间来从垃圾邮件中甄别出有用的合法邮件,浪费用户时间资源的同时也对用户工作和生活造成了不必要的困难。同时如果邮箱频繁地接收垃圾邮件,可能会影响到自身的邮件送达提醒功能,等到用户收到邮件送达的推送时,收件箱内已经累积了大量未及时处理的邮件。国内自2004年开始成立了中国互联网协会反垃圾邮件中心,是目前我国最权威的垃圾邮件检测机构[3]。并且该机构自2006年开始按季度发布我国垃圾邮件发展态势报告,根据其发布的数据显示,随着互联网的发展,用户需要越来越多的时间来处理垃圾邮件。
1.2课题研究的现实意义与应用前景
CNNIC在第二十一次报告中指出电子邮件在互联网应用中的使用率高达56.5%,并且将近四分之一的邮件分类为垃圾邮件。虽然到目前为止,国际上并没有对垃圾邮件的定义进行统一,但是不请自来的垃圾邮件确确实实影响到了人们的生活和互联网的发展。
早期用于对垃圾邮件的检测方法主要为黑白名单,此方法使用便捷,效果显著并且易于使用,但是缺点是需要用户不停地手动对黑白名单以及邮件过滤规则进行维护和更新,随着互联网数据体量的快速增长,垃圾邮件的源头越来越多,黑白名单已经逐渐无法满足用户对于垃圾邮件过滤的需求,根据此种需求,随着科技的不断发展,越来越多的方法被开发和应用于垃圾邮件的检测,其中最主要的代表方法就是通过机器学习算法来达到需求。机器学习算法可以通过建立一定的统计学模型,从已有的数据中进行挖掘,得到有用的信息并据此进行学习,并将得到的规律用于预测未知数据。机器学习作为人工智能领域的主要研究方向和重要分支,目前在智能机器人,控制工程,生物信息,环境监测,医疗诊断,金融分析以及本文研究的网络安全等多个领域都得到了广泛应用。对于垃圾邮件检测问题来说,机器学习方法是非常适合的,主要原因在于机器学习是用来研究如何让机器模拟人类利用经验来获取新的技能和知识,而对于计算机来说,“经验”可以以数据的形式来体现,换言之机器学习的前提和基础是对大量的数据进行分析,而现今的互联网上充斥着大量的垃圾邮件,意味着数量庞大的学习素材唾手可得。
目 录
1 引言 1
1.1课题研究背景 1
1.1.1垃圾邮件的产生 1
1.1.2垃圾邮件的危害 1
1.2课题研究的现实意义与应用前景 2
2 机器学习工具与算法选择 4
2.1机器学习工具 4
2.2算法选择 4
2.2.1逻辑回归 5
2.2.2朴素贝叶斯 5
2.2.3随机森林 6
3 实验设计与结果 8
3.1数据预处理 8
3.1.1导入标准库和数据集 8
3.1.2处理重复数据与缺失数据 9
3.1.3特征缩放 10
3.2算法实现和结果 12
3.2.1逻辑回归的实现与结果 12
3.2.2朴素贝叶斯的实现与结果 15
3.2.3随机森林的实现与结果 16
3.3基于本章实验的一些思考 17
4 K折交叉验证与结果比较 19
4.1 K折交叉验证与K值选择 19
4.2 10折交叉验证算法实现 20
4.3结果比较 22
结语 24
参考文献 25
致谢 26
引言
1.1课题研究背景
1.1.1垃圾邮件的产生
自10年以来,移动互联网飞速发展,电子邮件作为其在现实生活中的应用之一,以价格低廉,通信迅速等优势,快速发展成了人们信息交互的主要手段和渠道。但与此同时,也被垃圾邮件制造者们所利用,作为用来传播各种不良信息及商业广告的工作,对人们的工作与生活造成困扰的同时,也对互联网环境和资源造成了严重破坏, *好棒文|www.hbsrm.com +Q: ¥351916072$
从各种方面带来了极大的危害,因此反垃圾邮件的技术研究是目前一项势在必行的工作。
历史上第一封垃圾邮件出现于1994年,两名美国律师夫妇专门从事移民生意,他们以Green Card Spam为标题在互联网上将邮件发送给了六千多个邮箱[1]。在历史上这是第一次较为著名的垃圾邮件事件,经历过此事件之后,人们逐渐开始意识到了垃圾邮件问题的危害和严重性。
垃圾邮件问题是电子邮件在发展过程中必然出现的副产品,在英文语境中垃圾邮件有一个专门的单词叫做Spam,1996年英文中还出现了UBE(Unsolicited Bulk Email)和UCE(Unsolicited Commercial Email)分别用于形容被塞入用户邮箱且未经允许的邮件以及具有商业广告性质的垃圾邮件。
1.1.2垃圾邮件的危害
(1)垃圾邮件的泛滥一定程度上阻碍了互联网的发展,占用了用户和企业大量的运算,传输和存储资源,对公共网络资源和用户计算机存储资源造成了极大的浪费。
(2)垃圾邮件作为互联网社会不良信息的主要载体和传播途径的同时,也是病毒快速传播的载体和工具,危害了用户安全和现实社会[2]。并且垃圾邮件具有的多种特性如反复性、欺骗性、强制性以及极快的传播速度都决定了垃圾邮件可以严重干扰用户个人的正常生活,用户的信息安全在这样的环境下难以得到保障。经由垃圾邮件传播的各种虚假信息乃至有害信息,也对现实社会的稳定造成了严重危害。
(3)收件箱中如果充斥着各种各样的垃圾邮件,就会迫使用户浪费大量的时间来从垃圾邮件中甄别出有用的合法邮件,浪费用户时间资源的同时也对用户工作和生活造成了不必要的困难。同时如果邮箱频繁地接收垃圾邮件,可能会影响到自身的邮件送达提醒功能,等到用户收到邮件送达的推送时,收件箱内已经累积了大量未及时处理的邮件。国内自2004年开始成立了中国互联网协会反垃圾邮件中心,是目前我国最权威的垃圾邮件检测机构[3]。并且该机构自2006年开始按季度发布我国垃圾邮件发展态势报告,根据其发布的数据显示,随着互联网的发展,用户需要越来越多的时间来处理垃圾邮件。
1.2课题研究的现实意义与应用前景
CNNIC在第二十一次报告中指出电子邮件在互联网应用中的使用率高达56.5%,并且将近四分之一的邮件分类为垃圾邮件。虽然到目前为止,国际上并没有对垃圾邮件的定义进行统一,但是不请自来的垃圾邮件确确实实影响到了人们的生活和互联网的发展。
早期用于对垃圾邮件的检测方法主要为黑白名单,此方法使用便捷,效果显著并且易于使用,但是缺点是需要用户不停地手动对黑白名单以及邮件过滤规则进行维护和更新,随着互联网数据体量的快速增长,垃圾邮件的源头越来越多,黑白名单已经逐渐无法满足用户对于垃圾邮件过滤的需求,根据此种需求,随着科技的不断发展,越来越多的方法被开发和应用于垃圾邮件的检测,其中最主要的代表方法就是通过机器学习算法来达到需求。机器学习算法可以通过建立一定的统计学模型,从已有的数据中进行挖掘,得到有用的信息并据此进行学习,并将得到的规律用于预测未知数据。机器学习作为人工智能领域的主要研究方向和重要分支,目前在智能机器人,控制工程,生物信息,环境监测,医疗诊断,金融分析以及本文研究的网络安全等多个领域都得到了广泛应用。对于垃圾邮件检测问题来说,机器学习方法是非常适合的,主要原因在于机器学习是用来研究如何让机器模拟人类利用经验来获取新的技能和知识,而对于计算机来说,“经验”可以以数据的形式来体现,换言之机器学习的前提和基础是对大量的数据进行分析,而现今的互联网上充斥着大量的垃圾邮件,意味着数量庞大的学习素材唾手可得。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/641.html