当前位置: 首页 > news >正文

机器学习算法-朴素贝叶斯

朴素贝叶斯分类器就是根据贝叶斯公式计算结果进行分类的模型,“朴素”指事件之间相互独立无影响. 例 如:有如下数据集:

Text        Category
A great game(一个伟大的比赛)Sports(体育运动)
The election was over(选举结束Not sports(不是体育运动)
Very clean match(没内幕的比赛)Sports(体育运动)
A clean but forgettable game(一场难以忘记的比赛)Sports(体育运动)
It was a close election(这是一场势均力敌的选举)Not sports(不是体育运动)

求:“A very close game” 是体育运动的概率?数学上表示为 P(Sports | a very close game). 根据贝叶斯 定理,是运动的概率可以表示为:

不是运动概率可以表示为:

概率更大者即为分类结果. 由于分母相同,即比较分子谁更大即可.

我们只需统计”A very close game“ 多 少次出现在Sports类别中,就可以计算出上述两个概率. 但是”A very close game“ 并没有出现在数据集 中,所以这个概率为0,要解决这个问题,就假设每个句子的单词出现都与其它单词无关(事件独立即朴 素的含义),所以,P(a very close game)可以写成

统计出“a", "very", "close", "game"出现在"Sports"类别中的概率,就能算出其所属的类别. 具体计算过程 如下:

        第一步:计算总词频:Sports类别词语总数11,Not Sports类别词语总数9,词语总数14(去重之后的单词数量)

        第二步:计算每个类别的先验概率

# Sports和Not Sports概率

P(Sports) = 3 / 5 = 0.6

P(Not Sports) = 2 / 5 = 0.4

# Sports条件下各个词语概率

P(a | Sports) = (2 + 1) / (11 + 14) = 0.12

P(very | Sports) = (1 + 1) / (11 + 14) = 0.08

P(close | Sports) = (0 + 1) / (11 + 14) = 0.04

P(game | Sports) = (2 + 1) / (11 + 14) = 0.12

# Not Sports条件下各个词语概率

P(a | Not Sports) = (1 + 1) / (9 + 14) = 0.087

P(very | Not Sports) = (0 + 1) / (9 + 14) = 0.043

P(close | Not Sports) = (1 + 1) / (9 + 14) =  = 0.087

P(game | Not Sports) = (0 + 1) / (9 + 14) = 0.043

其中,分子部分加1,是为了避免分子为0的情况;分母部分都加了词语总数14,是为了避免分子增 大的情况下计算结果超过1的可能.

第三步:将先验概率带入贝叶斯定理,计算概率: 是体育运动的概率:

不是体育运动的概率:

分类结果:P(Sports) = 0.000027648 , P(Not Sports) = 0.0000055984, 是体育运动

http://www.xdnf.cn/news/1356049.html

相关文章:

  • 优化OpenHarmony中lspci命令实现直接获取设备具体型号
  • 机械学习综合练习项目
  • 基于SpringBoot的新能源汽车租赁管理系统【2026最新】
  • Linux 系统管理核心概念与常用命令速查
  • 春秋云镜 Hospital
  • 【Qt开发】常用控件(六)
  • 一个简洁的 C++ 日志模块实现
  • 【数位DP】D. From 1 to Infinity
  • 金山办公的服务端开发工程师-25届春招笔试编程题
  • Python训练营打卡 DAY 45 Tensorboard使用介绍
  • 基于电磁频谱地图的辐射源定位算法复现
  • 基于TimeMixer现有脚本扩展的思路分析
  • 基础IO
  • CryptSIPVerifyIndirectData函数分析
  • 刷题日记0823
  • 环境 (shell) 变量
  • Nacos-12--扩展:@RefreshScope和@ConfigurationProperties实现热更新的原理
  • Kubernetes笔记整合-1
  • 一种通过模板输出Docx的方法
  • LeakyReLU和ReLU的区别
  • 探索 JUC:Java 并发编程的神奇世界
  • KVM虚拟化:提升企业效率的利器
  • 【嵌入式】【搜集】RTOS相关技术信息整理
  • 微信小程序界面常用操作
  • SpringBoot自动装配原理深度解析
  • 电蚊拍的原理及电压电容参数深度解析:从高频振荡到倍压整流的完整技术剖析
  • Trae Solo模式生成一个旅行足迹App
  • 最新短网址源码,防封。支持直连、跳转。 会员无广
  • Azure Kubernetes Service (AKS)
  • 视觉革命:云渲染如何让创意不再受限于硬件