朴素贝叶斯算法实现垃圾邮件过滤
1.1 题目的主要研究内容
(1)贝叶斯垃圾邮件过滤技术是一种电子邮件过滤的统计学技术,它使用贝叶斯分类来进行垃圾邮件的判别。
(2)贝叶斯分类的运作是借着使用标记(一般是字词,有时候是其他)与垃圾邮件、非垃圾邮件的关连,然后搭配贝叶斯推断来计算一封邮件为垃圾邮件的可能性。
1.2 题目研究的工作基础或实验条件
(1)硬件环境
处理器:Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz 2.50 GHz
显卡:英伟达1050
系统类型:64位操作系统, 基于x64的处理器
(2)软件环境
操作系统:Windows10操作系统
开发语言:Python
1.3 设计思想
对于给定的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大就认为此待分类项属于哪个类别。
1.4 流程图
1.5 主要程序代码
# -*- coding: UTF-8 -*-
import numpy as np
import re
import random
"""
函数说明:将切分的实验样本词条整理成不重复的词条列表,也就是词汇表
Parameters:
dataSet - 整理的样本数据集
Returns:
vocabSet - 返回不重复的词条列表,也就是词汇表
"""
def createVocabList(dataSet):
vocabSet = set([]) # 创建一个空的不重复列表
for document in dataSet: