本文主要是介绍文本处理之贝叶斯垃圾邮件分类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文所讲解的是如何通过Python将文本读取,并且将每一个文本生成对应的词向量并返回. 文章的背景是将50封邮件(包含25封正常邮件,25封垃圾邮件)通过贝叶斯算法对其进行分类.
主要分为如下几个部分:
①读取所有邮件;
②建立词汇表;
③生成没封邮件对应的词向量(词集模型);
④用sklearn中的朴素贝叶斯算法进行分类;
⑤生成性能评估报告
1.函数介绍
下面先介绍需要用到的功能函数
1.1建立词汇表
思路:用所给的文本建立一个词汇表;就是将用所有出现的单词构成一个不重复的集合,即不含同一个单词.
def createVocabList(dataSet):vocabSet = set([]) #create empty setfor document in dataSet:vocabSet = vocabSet | set(document) #union of the two setsreturn list(vocabSet)postingList=[['my', 'dog', 'dog','has']]
print createVocabList(postingList)
>> ['has', 'my', 'dog']
1.2 将所有的大写字母转换成小写字母,并且去掉长度小于两个字符的单词
def textParse(bigString): #input is big string, #output is word listimport relistOfTokens = re.
这篇关于文本处理之贝叶斯垃圾邮件分类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!