[DA45] 使用朴素贝叶斯进行文档分类

一. 相关介绍

(一) 朴素贝叶斯

    朴素贝叶斯分类最适合的场景是文本分类、情感分析和垃圾邮件识别,python 中的 sklearn 机器学习包提供了3种朴素贝叶斯分类算法:

    1. 高斯朴素贝叶斯(GaussianNB)

        适用场景:特征变量是连续变量,符合正态分布

    2. 多项式朴素贝叶斯(MultinomialNB)

        适用场景:特征变量是离散变量,符合多项分布。

    3. 伯努利朴素贝叶斯(BernoulliNB)

        适用场景:特征变量是布尔变量,符合0/1分布。

(二) TF-IDF

    TF-IDF 是一个统计方法,用来评估某个词语对于一个文件集或文档库中的其中一份文件的重要程度。它由Term Frequency 和 Inverse Document Frequency 的组成,两者缩写为 TF 和 IDF,分别代表了词频和逆向文档频率。

    词频计算了一个单词在文档中出现的次数,它认为一个单词的重要性和它在文档中出现的次数呈正比。

    逆向文档频率是指一个单词在文档中的区分度。它认为一个单词出现在的文档数越少,就越能通过这个单词把该文档和其他文档区分开。IDF 越大就代表该单词的区分度越大。

    计算

头歌平台中,使用朴素贝叶斯进行文档分类是机器学习的一个重要应用。在文档分类里,整个文档(如电子邮件)是实例,文档中的某些元素构成特征,可对新闻报道、用户留言、政府公文等任意类型文本分类。观察文档中词的出现与否作为特征特征数目与词汇表词目相同,朴素贝叶斯是贝叶斯分类器的扩展,是文档分类常用算法 [^1]。 朴素贝叶斯的一般过程如下: 1. 收集数据:可以使用任何方法。 2. 准备数据:需要数值型或者布尔型数据。 3. 分析数据:有大量特征时,绘制特征作用不大,使用直方图效果更好。 4. 训练算法:计算不同的独立特征的条件概率。 5. 测试算法:计算错误率。 6. 使用算法:一个常见的朴素贝叶斯应用是文档分类,可在任意分类场景中使用朴素贝叶斯分类器,不一定是文本 [^1]。 以下是头歌平台上使用朴素贝叶斯进行文档分类涉及到的部分代码示例,首先将所有文档中的单词组成词汇表: ```python def loadDataSet(): postingList=[['my','dog','has','flea','problems','help','pleas'], ['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','to','stop', 'him'], ['quite','buying','worthless','dog','food','stupid']] classVec=[0,1,0,1,0,1] # 1表示侮辱性文档,0表示非侮辱性文档 return postingList,classVec # 将文档矩阵中的所有词构成词汇表 def creatVocabList(dataset): vocabSet=set([]) for document in dataset: vocabSet=vocabSet|set(document) # 两个集合的并集 return list(vocabSet) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值