行业新闻
Group news
江苏宏丰木业有限公司    您的位置: 首页  >  行业新闻  >  正文

贝叶斯分类算法及其实现

2019年11月06日 文章来源:网络整理 热度:105℃ 作者:刘英

[导读]  贝叶斯算法描述及实现根据朴素贝叶斯公式,每个测试样例属于某个类别的概率= 所有测试样例包含特征词类条件概率P(tk|c)之积* 先验概率P(c) 在具体计算类条件概率和先验概率时,朴素贝叶斯分类器有两种模型

关键词:贝叶斯分类算法

  贝叶斯算法描述及实现根据朴素贝叶斯公式,每个测试样例属于某个类别的概率= 所有测试样例包含特征词类条件概率P(tk|c)之积* 先验概率P(c) 在具体计算类条件概率和先验概率时,朴素贝叶斯分类器有两种模型:

  (1) 多项式模型( mulTInomial model ) –以单词为粒度类条件概率P(tk|c)=(类c下单词tk在各个文档中出现过的次数之和+1)/(类c下单词总数+训练样本中不重复特征词总数)先验概率P(c)=类c下的单词总数/整个训练样本的单词总数

  (2) 伯努利模型(Bernoulli model) –以文件为粒度类条件概率P(tk|c)=(类c下包含单词tk的文件数+1)/(类c下文件总数+2) 先验概率P(c)=类c下文件总数/整个训练样本的文件总数本分类器选用多项式模型计算,根据斯坦福的《IntroducTIon to InformaTIon Retrieval 》课件上所说,多项式模型计算准确率更高。

  贝叶斯算法的实现有以下注意点:

  1.计算概率用到了BigDecimal类实现任意精度计算;

  2.用交叉验证法做十次分类实验,对准确率取平均值;

  3.根据正确类目文件和分类结果文计算混淆矩阵并且输出;

  4. Map《String,Double》 cateWordsProb key为“类目_单词”, value为该类目下该单词的出现次数,避免重复计算。

  贝叶斯算法实现类如下

  

贝叶斯分类算法及其实现


贝叶斯分类算法及其实现


贝叶斯分类算法及其实现


贝叶斯分类算法及其实现


贝叶斯分类算法及其实现


贝叶斯分类算法及其实现


贝叶斯分类算法及其实现


贝叶斯分类算法及其实现


贝叶斯分类算法及其实现


贝叶斯分类算法及其实现


贝叶斯分类算法及其实现


贝叶斯分类算法及其实现

  测试结果显示14个测试实例中有13个分类是正确的,正确率为93%,说明算法能够给出一个准确的预测与分类,但是算法还需改进以提高正确率。

  改进的可选方法之一:为避免单个属性值对分类结果的权重过大,例如当某属性值在某一类中出现0次时,该属性值就决定了测试实例已经不可能属于该类了,这就可能会造成误差,因此在计算概率时可能进行如下改进:将原先的P(Xk|Ci)=|Xk| / |Ci| 改为P(Xk|Ci)=(|Xk|+mp) / (|Ci|+m),其中m可设定为训练元组的个数,p为等可能假设的先验概率

贝叶斯分类算法及其实现

关注电子发烧友微信

有趣有料的资讯及技术干货

贝叶斯分类算法及其实现

下载发烧友APP

打造属于您的人脉电子圈

贝叶斯分类算法及其实现

关注发烧友课堂

锁定最新课程活动及技术直播

声明:电子发烧友网转载作品均尽可能注明出处,该作品所有人的一切权利均不因本站而转移。

上一篇:解密iPhoneX的人脸识别技术:迎来刷脸的时代


下一篇:风光互补发电系统设计方案汇总(两款风光互补发电系统详解)

友情链接
Links
鸿运国际官网_鸿运国际备用网址