机器学习---朴素贝叶斯分类器的实现(对文本进行侮辱性言论和非侮辱性言论的分类)

文章介绍了如何使用Python的numpy库实现数据加载、词汇表生成、词向量表示(词集模型和词袋模型)以及朴素贝叶斯分类器的训练和测试过程,以判断文本是否为侮辱性言论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. loadDataSet函数

import numpy as np

# 构造loadDataSet函数用于生成实验样本
def loadDataSet(): 
    postingList=[['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'],
                 ['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'],
                 ['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love', 'him'],
                 ['stop', 'posting', 'stupid', 'worthless', 'garbage'],
                 ['mr', 'licks', 'ate', 'my', 'steak', 'how', 'to', 'stop', 'him'],
                 ['quit', 'buying', 'worthless', 'dog', 'food', 'stupid']]
    classVec=[0,1,0,1,0,1] #1表示侮辱性言论,0表示正常言论
    return postingList,classVec

简单的数据加载函数,用于生成一个实验样本。函数 loadDataSet 返回两个列表,postingList 包含

了一些文本数据,classVec 包含了这些文本数据对应的类别标签。postingList 包含了6个子列表,

每个子列表代表一条文本数据,而 classVec 包含了这些文本数据对应的类别标签,其中1表示侮辱

性言论,0表示正常言论。

2. 词汇表生成函数creatVocabList

#构建词汇表生成函数creatVocabList
def createVocabList(dataSet):
    vocabSet=set([]) # 1 1 1 1 和1 1
    for document in dataSet:
        vocabSet=vocabSet|set(document) #取两个集合的并集
    return list(voc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三月七꧁ ꧂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值