朴素贝叶斯分类器python_朴素贝叶斯算法的python实现-乾颐堂

算法优缺点

优点:在数据较少的情况下依然有效,可以处理多类别问题

缺点:对输入数据的准备方式敏感

适用数据类型:标称型数据

算法思想:

朴素贝叶斯

比如我们想判断一个邮件是不是垃圾邮件,那么我们知道的是这个邮件中的词的分布,那么我们还要知道:垃圾邮件中某些词的出现是多少,就可以利用贝叶斯定理得到。

朴素贝叶斯分类器中的一个假设是:每个特征同等重要

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。

函数

loadDataSet()

创建数据集,这里的数据集是已经拆分好的单词组成的句子,表示的是某论坛的用户评论,标签1表示这个是骂人的

createVocabList(dataSet)

找出这些句子中总共有多少单词,以确定我们词向量的大小

setOfWords2Vec(vocabList, inputSet)

将句子根据其中的单词转成向量,这里用的是伯努利模型,即只考虑这个单词是否存在

bagOfWords2VecMN(vocabList, inputSet)

这个是将句子转成向量的另一种模型,多项式模型,考虑某个词的出现次数

trainNB0(trainMatrix,trainCatergory)

计算P(i)和P(w[i]|C[1])和P(w[i]|C[0]),这里有两个技巧,一个是开始的分子分母没有全部初始化为0是为了防止其中一个的概率为0导致整体为0,另一个是后面乘用对数防止因为精度问题结果为0

classifyNB(vec2Classify, p0Vec, p1Vec, pClass1)

根据贝叶斯公式计算这个向量属于两个集合中哪个的概率高

http://www.qytang.com/cn/list/28/404.htm

http://www.qytang.com/cn/list/28/397.htm

http://www.qytang.com/cn/list/28/396.htm

http://www.qytang.com/cn/list/28/395.htm

http://www.qytang.com/cn/list/28/394.htm

http://www.qytang.com/cn/list/28/393.htm

http://www.qytang.com/cn/list/28/391.htm

http://www.qytang.com/cn/list/28/389.htm

http://www.qytang.com/cn/list/28/388.htm

http://www.qytang.com/cn/list/28/362.htm

http://www.qytang.com/cn/list/28/358.htm

http://www.qytang.com/cn/list/28/351.htm

http://www.qytang.com/cn/list/28/348.htm

http://www.qytang.com/cn/list/28/340.htm

http://www.qytang.com/cn/list/28/338.htm

http://www.qytang.com/cn/list/28/336.htm

http://www.qytang.com/cn/list/28/330.htm

http://www.qytang.com/

http://www.qytang.com/cn/list/29/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值