机器学习【3】 朴素贝叶斯分类

outlook temperature humidity windy play
  yes no   yes no   yes no   yes no yes no
sunny 2 3 hot 2 2 high 3 4 FALSE 6 2 9 5
overcast 4 0 mild 4 2 normal 6 1 TRUR 3 3    
rainy 3 2 cool 3 1                

如以上表格,现在我们来计算当条件为sunny,cool,high,TRUE时候是否去play,当然,决策树也可以,本节通过朴素贝叶斯来求解。

B1,B2.....BN

首先来看下贝叶斯公式,B条件下A发生的概率,也就是在sunny,cool,high,TRUE等于yes的概率,以及等于no的概率,都计算出来,比较大小,哪个大,结果就是哪个。

P(YES|ALL) = P(ALL|YES)P(YES)/P(ALL) = P(SUNNY|YES)P(COOL|YES)P(HIGH|YES)P(TRUE|YES)P(YES)/P(ALL)

=2/9*3/9*3/9*3/9*9/14/P(ALL)=0.005/P(ALL)

P(NO|ALL) = P(ALL|NO)P(NO)/P(ALL) = P(SUNNY|NO)P(COOL|NO)P(HIGH|NO)P(TRUE|NO)P(NO)/P(ALL)

=3/5*1/5*4/5*3/5*5/14/P(ALL)=0.021/P(ALL)

所以得出是NO的概率大,所以在sunny,cool,high,true的条件下应该不去打球

注意表中有一个数据为0,这意味着在outlook为overcast的情况下,不打球和概率为0,即只要为overcast就一定打球,这违背了朴素贝叶斯的基本假设:输出依赖于所有的属性。

时间: 2024-10-09 20:19:39

机器学习【3】 朴素贝叶斯分类的相关文章

机器学习之朴素贝叶斯分类

朴素贝叶斯分类 所有贝叶斯分类都是基于贝叶斯定理,朴素贝叶斯分类是贝叶斯分类中运用广泛简单的一种,另外,它还基于特征条件独立假设. 贝叶斯定理 贝叶斯定理是计算条件概率的公式,条件概率即是事件B发生的前提下事件A发生的概率,记作P(A|B),叫做事件B发生的情况下A的条件概率. 公式为:P(B|A)=P(A|B)P(B)P(A) 公式大致推导: 如图,有P(A|B)=P(A?B)P(B) 同样,也有P(B|A)=P(A?B)P(A) 于是,P(A|B)P(B)=P(B|A)P(A) 得到,P(B

机器学习系列——朴素贝叶斯分类器(二)

贝叶斯定理: 其中: 表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率.其基本求解公式为:.

机器学习经典算法详解及Python实现---朴素贝叶斯分类及其在文本分类、垃圾邮件检测中的应用

摘要: 朴素贝叶斯分类是贝叶斯分类器的一种,贝叶斯分类算法是统计学的一种分类方法,利用概率统计知识进行分类,其分类原理就是利用贝叶斯公式根据某对象的先验概率计算出其后验概率(即该对象属于某一类的概率),然后选择具有最大后验概率的类作为该对象所属的类.总的来说:当样本特征个数较多或者特征之间相关性较大时,朴素贝叶斯分类效率比不上决策树模型:当各特征相关性较小时,朴素贝叶斯分类性能最为良好.另外朴素贝叶斯的计算过程类条件概率等计算彼此是独立的,因此特别适于分布式计算.本文详述了朴素贝叶斯分类的统计学

《机器学习实战》基于朴素贝叶斯分类算法构建文本分类器的Python实现

============================================================================================ <机器学习实战>系列博客是博主阅读<机器学习实战>这本书的笔记,包括对当中算法的理解和算法的Python代码实现 另外博主这里有机器学习实战这本书的全部算法源码和算法所用到的源文件,有须要的留言 ====================================================

【机器学习算法-python实现】扫黄神器-朴素贝叶斯分类器的实现

(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 以前我在外面公司实习的时候,一个大神跟我说过,学计算机就是要一个一个贝叶斯公式的套用来套用去.嗯,现在终于用到了.朴素贝叶斯分类器据说是好多扫黄软件使用的算法,贝叶斯公式也比较简单,大学做概率题经常会用到.核心思想就是找出特征值对结果影响概率最大的项.公式如下: 什么是朴素贝叶斯,就是特征值相互独立互不影响的情况.贝叶斯可以有很多变形,这里先搞一个简单的,以后遇到复杂的再写. 2.数据集 摘自机器学

机器学习---朴素贝叶斯分类器(Machine Learning Naive Bayes Classifier)

朴素贝叶斯分类器是一组简单快速的分类算法.网上已经有很多文章介绍,比如这篇写得比较好:https://blog.csdn.net/sinat_36246371/article/details/60140664.在这里,我按自己的理解再整理一遍. 在机器学习中,我们有时需要解决分类问题.也就是说,给定一个样本的特征值(feature1,feature2,...feauren),我们想知道该样本属于哪个分类标签(label1,label2,...labeln).即:我们想要知道该样本各个标签的条件概

机器学习知识点查漏补缺(朴素贝叶斯分类)

一.基本模型 朴素贝叶斯分类模型的基本思想就是贝叶斯公式,对以特征为条件的各类别的后验概率. 贝叶斯公式如下: 对标朴素贝叶斯分类模型的公式如下: 分子中的第二项为每个类别的概率(实际运算即频率),如下: 第一项为每个类别内部(即以类别为条件)特征的联合概率,如下: 但随着特征的每个维度取值增加,模型参数也会指数级增加.所以朴素贝叶斯的朴素也就在这儿体现,朴素的(简单的)假设以上每个特征维度都是条件独立的,而让其联合概率可化简为每个特征的条件概率积,如下: 朴素贝叶斯分类模型也即是最大化后验概率

机器学习之路: python 朴素贝叶斯分类器 预测新闻类别

使用python3 学习朴素贝叶斯分类api 设计到字符串提取特征向量 欢迎来到我的git下载源代码: https://github.com/linyi0604/kaggle 1 from sklearn.datasets import fetch_20newsgroups 2 from sklearn.cross_validation import train_test_split 3 # 导入文本特征向量转化模块 4 from sklearn.feature_extraction.text

机器学习:贝叶斯分类器(二)——高斯朴素贝叶斯分类器代码实现

一 高斯朴素贝叶斯分类器代码实现 网上搜索不调用sklearn实现的朴素贝叶斯分类器基本很少,即使有也是结合文本分类的多项式或伯努利类型,因此自己写了一遍能直接封装的高斯类型NB分类器,当然与真正的源码相比少了很多属性和方法,有兴趣的可以自己添加.代码如下(有详细注释): class NaiveBayes(): '''高斯朴素贝叶斯分类器''' def __init__(self): self._X_train = None self._y_train = None self._classes

从朴素贝叶斯分类器到贝叶斯网络(下)

书接上文 :从朴素贝叶斯分类器到贝叶斯网络(上) 三.贝叶斯网络 贝叶斯网络(Bayesian Network)是一种用于表示变量间依赖关系的数据结构.有时它又被称为信念网络(Belief Network)或概率网络(Probability Network).在统计学习领域.概率图模型(PGM,Probabilistic Graphical Models)经常使用来指代包括贝叶斯网络在内的更加宽泛的一类机器学习模型.比如隐马尔可夫模型(HMM,Hidden Markov Model)也是一种PG