机器学习-分类算法实战-使用朴素贝叶斯分类器过滤垃圾邮件

充分利用 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


'''训练'''
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值