数据挖掘之朴素贝叶斯算法
1.贝叶斯公式推理:
A和B是两个事件,在B发生的条件下,A发生的条件概率记为
条件概率: (1)
条件概率: (2)
(2)式得将其代入(1)得到贝叶斯公式:
可以写为
表示没有使用数据来训练分类器之前y的初始概率,称为先验概率。
是样本x相对于类别y的类条件概率,称为似然。
是给定x时y成立的概率,称为后验概率。
是归一化的证据因子。
2.朴素贝叶斯分类实现步骤:
朴素贝叶斯处理:假设x中的特征是条件独立的,各类数据中,各特征的条件概率
① 设为一个待分类项,而每个x都为特征属性。
② 类别集合,计算先验概率
③ 根据贝叶斯公式,计算各特征的各条件概率的乘积, ,
因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有:
④ 如果,则。也就是结果中的最大值就是该样本所属的类别。
⑤ 使用规范化方法计算的概率。
3.例题:
以下是某公司招录人员的信息表,将其作为训练集,运用朴素贝叶斯算法实现预测新样本
是否被录用。
性别 |
学历 |
学校 |
经验 |
是否录用 |
男 |
本科 |
985 |
无 |
是 |
女 |
本科 |
211 |
无 |
是 |
男 |
研究生 |
普通院校 |
有 |
是 |
男 |
大专 |
普通院校 |
有 |
否 |
女 |
本科 |
985 |
无 |
是 |
男 |
研究生 |
普通院校 |
有 |
是 |
男 |
本科 |
211 |
无 |
是 |
男 |
大专 |
普通院校 |
有 |
否 |
男 |
本科 |
普通院校 |
无 |
否 |
女 |
本科 |
普通院校 |
有 |
否 |
男 |
本科 |
211 |
无 |
是 |
男 |
研究生 |
211 |
无 |
是 |
假设全部属性都对决策有着相同的重要性,且相互条件独立。
① 按照训练样本的类别统计每个属性的取值次数,统计结果如下表所示:
性别x1 |
学历x2 |
学校x3 |
经验x4 |
是否录用 |
|||||||||
是 |
否 |
是 |
否 |
是 |
否 |
是 |
否 |
是 |
否 |
||||
男 |
6 |
3 |
大专 |
0 |
2 |
985 |
2 |
0 |
有 |
2 |
3 |
8 |
4 |
女 |
2 |
1 |
本科 |
5 |
2 |
211 |
4 |
0 |
无 |
6 |
1 |
||
研究生 |
3 |
0 |
普通院校 |
2 |
4 |
② 计算先验概率。有2个取值{是,否}分别为
③ 根据贝叶斯公式,计算各特征的各条件概率的乘积
有4个取值{性别,学历,学校,经验}分别为
取值分别为=‘男’, =‘女’
取值分别为=‘大专’, =‘本科’, =‘研究生’
取值分别为=‘985’, =‘211’,=‘普通院校’
取值分别为=‘有’, =‘无’
新样本可以表示为,带球概率分别为
计算过程如下:
所以
所以
④ 由于可知,样本被分类为,会被录取
⑤ 规范化方法计算的概率,就是计算新样本类别分别为和的概率。
根据以下公式计算:
利用朴素贝叶斯算法分类得出该新样本被录取的概率为62.5%,因此可以被录取。
4 .应用:
例如:如下图有12封邮件,其中五封为垃圾邮件Spam 。其中七封为非垃圾邮件NSpam。
① 如上图所示,将所有邮件中出现'free'与'money'的标红。
② 计算先验概率
③ 各个词汇的条件概率p(x|y):
在垃圾邮件spam 邮件中,
出现'free'的概率为 、即;
根据条件概率,计算垃圾邮件中包含'free'单词的概率,
即
在非垃圾邮件Nspam 邮件中,
出现'free'的概率为 、 即
根据条件概率,计算垃圾邮件中包含‘free’单词的概率,
即
④ 判断包含某个单词的邮件是否是垃圾邮件及其概率
包含'free'单词的邮件是垃圾邮件的概率:
包含'free'单词的邮件是非垃圾邮件的概率:
同理
包含'money'单词的邮件是垃圾邮件的概率:
包含'money'单词的邮件是非垃圾邮件的概率:
数据挖掘之朴素贝叶斯算法相关推荐
- 数据挖掘-朴素贝叶斯算法的R实现
本次为学生时期所写的实验报告,代码程序为课堂学习和自学,对网络程序有所参考,如有雷同,望指出出处,谢谢! 基础知识来自教材:李航的<统计学习方法> 本人小白,仍在不断学习中,有错误的地方恳 ...
- 数据挖掘-朴素贝叶斯算法
微信搜索:"二十同学" 公众号,欢迎关注一条不一样的成长之路 我个人认为,在数据挖掘领域,分类算法是最为重要.它根据以往的数据来对新的数据做预测.垃圾邮件判断,潜在用户挖掘等都会用 ...
- 【朴素贝叶斯】深入浅出讲解朴素贝叶斯算法(公式、原理)
本文收录于<深入浅出讲解自然语言处理>专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅! 个人主页:有梦想的程序星空 个人介绍:小编是人工智能领域硕士,全栈工 ...
- 文本分类(朴素贝叶斯算法)
一.贝叶斯定理引入 1.朴素贝叶斯: 朴素贝叶斯中的朴素一词的来源就是假设各特征之间相互独立.这一假设使得朴素贝叶斯算法变得简单,但有时会牺牲一定的分类准确率. 2.贝叶斯公式: 3.换成分类任务 ...
- 朴素贝叶斯算法与应用实例
本文为转载博客,转自: http://www.cnblogs.com/marc01in/p/4775440.html 引 和师弟师妹聊天时经常提及,若有志于从事数据挖掘.机器学习方面的工作,在大学阶段 ...
- python贝叶斯算法的论文_朴素贝叶斯算法从入门到Python实践
1,前言 很久不发文章,整理些干货,希望相互学习吧.进入主题,本文主要时说的为朴素贝叶斯分类算法.与逻辑回归,决策树一样,是较为广泛使用的有监督分类算法,简单且易于理解(号称十大数据挖掘算法中最简单的 ...
- 朴素贝叶斯算法实现 豆瓣Top250电影评价的情感分析与预测。
前言 本文使用朴素贝叶斯算法实现 豆瓣Top250电影评价的情感分析与预测. 最近在学习自然语言正负面情感的处理问题,但是绝大部分能搜索到的实践都是Kggle上IMDB影评的情感分析. 所以在这里我就 ...
- 机器学习(8)朴素贝叶斯算法(20条新闻分类)
目录 一.基础理论 二.实战:20条新闻分类 1.读取数据 2.训练集划分 3.特征工程(文本特征提取) 4.朴素贝叶斯算法训练 5.模型评估 方法一:预测值与真实值比对 方法二:计算准确率 总代码 ...
- 【机器学习入门】(3) 朴素贝叶斯算法:多项式、高斯、伯努利,实例应用(心脏病预测)附python完整代码及数据集
各位同学好,今天我和大家分享一下朴素贝叶斯算法中的三大模型.在上一篇文章中,我介绍了朴素贝叶斯算法的原理,并利用多项式模型进行了文本分类预测. 朴素贝叶斯算法 -- 原理,多项式模型文档分类预测,附p ...
最新文章
- VC实用小知识总结 (一),转http://blog.csdn.net/myiszjf/article/details/10007431
- 20.Valid Parentheses (python)
- 015_获取并设置CSS类
- python reduce函数_Python reduce函数作用及实例解析
- C与CPP 在线手册查找
- 接口测试——Jmeter直连数据库无法获取查找到的数据个数
- 【Hadoop Summit Tokyo 2016】中型组织的数据基础设施架构:收集、存储和分析的技巧...
- js for ubuntu
- 本科计算机相关课程设计,计算机科学及技术专业本科生大学课程设计.doc
- 叫号系统是否需要服务器,银行排队叫号方法及系统、服务器及存储介质
- 2016用户体验行业调查报告
- MacOS安装git
- 支付公司如何赚钱?支付网关如何设计?
- linux主流ftp server,Linux下常用的Ftp Server
- 图解!24张图彻底弄懂九大常见数据结构!
- python去除字符串中表情字符
- 固态硬盘的计算机需要进行磁盘碎片整理吗,SSD固态硬盘需要碎片整理吗 固态盘切忌磁盘碎片整理...
- 第16周项目3--用函数指针调用函数(吃饭,睡觉,打豆豆)
- 游戏开发学习路线图(2023最新版)建议收藏
- iOS 使用Moya网络请求