充分利用 Python 的文本处理能力将文档拆分为词向量。这将用于对文本进行分类。我们将构建另一个分类器,看看它在现实世界的垃圾邮件数据集上的表现如何
运行结果如上图
下面是代码
# -*- coding: utf-8 -*-
'''
使用python把文本分割成一个个单词,构建词向量
利用朴素贝叶斯构建分类器从概率的角度对文本进行分类
'''
import numpy as np
import re
from random import shuffle
'''创建一个词汇表'''
def createVocabList(Dataset):
vocabSet = set([])
for document in Dataset:
vocabSet = vocabSet | set(document)
return list(vocabSet)
''' 将文本转化成词向量'''
def setOfWords2Vec(vocabList, inputSet):
returnVec = [0] * len(vocabList)
for word in inputSet:
if word in vocabList:
# returnVec[vocabList.index(word)] = 1#词集模型
returnVec[vocabList.index(word)] += 1 # 词袋模型
else:
print("the word:%s is not in VocabList" % word)
return returnVec
'''训练'''
def trainNB