Python朴素贝叶斯

1 声明

本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理。

2 贝叶斯简介

相关概念见下:

条件概率P(B|A) = P(AB)/P(A)

即B在A发生的时的概率等于A、B同时发生的概率除以A发生的概率

全概率

P(A)=P(A|B1)P(B1)+ P(A|B2)P(B2)+…… P(A|Bn)Bn

这里B1,B2……Bn是对A的n中划分,P(Bi)>0,0<i<n+1,i是正整数。

贝叶斯

其中P(H)是假设H成立的概率,又称为先验概率,P(E)是证据的可能性(这里与假设无关),

P(E|H)是假设成立对应证据的可能性,P(H|E)是假设存在时证据的概率,是一种推断。

朴素贝叶斯分类

朴素贝叶斯是一种利用贝叶斯定理的分类器。它预测每个类的成员概率,例如给定记录或数据点属于特定类的概率。概率最大的类被认为是最可能的类。这也称为Maximum A Posteriori(MAP)最大后验概率。

MAP(H)
= max( P(H|E) )
=  max( (P(E|H)*P(H))/P(E))
= max(P(E|H)*P(H))

贝叶斯分类的注意点:

1 假设数据的统计分布,比如正态、多项式、伯努利。

2 特征间是独立的。

3 朴素贝叶斯代码示例

# 加载朴素贝叶斯相关包
from sklearn import datasets
from sklearn.naive_bayes import GaussianNB
# 加载iris数据
iris = datasets.load_iris()
# 定义X和y
features = iris.data
target = iris.target
# 创建分类器对象
classifer = GaussianNB()
# 定义新的样本
new_observation = [[ 2.6, 2.6, 2.6, 0.4]]
# 输出所属分类的概率值
print(classifer.fit(features, target).predict_proba(new_observation))

4 总结

优点:

1 朴素贝叶斯算法是一种快速、高扩展性的算法

2 朴素贝叶斯算法支持二分类和多分类,有高斯、多项式、伯努利多种实现

3 适合于小样本上

不足:

因假设各特征间无关,所以处理特征间有关系的效果不好。

Python朴素贝叶斯相关推荐

  1. Python实现基于朴素贝叶斯的垃圾邮件分类 标签: python朴素贝叶斯垃圾邮件分类 2016-04-20 15:09 2750人阅读 评论(1) 收藏 举报 分类: 机器学习(19) 听说

    Python实现基于朴素贝叶斯的垃圾邮件分类 标签: python朴素贝叶斯垃圾邮件分类 2016-04-20 15:09 2750人阅读 评论(1) 收藏 举报  分类: 机器学习(19)  听说朴 ...

  2. python 朴素贝叶斯算法

    python朴素贝叶斯算法(sklearn.naive_bayes),会通过了解什么是朴素贝叶斯.贝叶斯公式推导.实际案例去讲解.也同时记录学习的过程帮组大家一起学习如果实际应该贝叶斯算法去分析. 文 ...

  3. python朴素贝叶斯调参_邹博机器学习升级版II附讲义、参考书与源码下载(数学 xgboost lda hmm svm)...

    课程介绍 本课程特点是从数学层面推导最经典的机器学习算法,以及每种算法的示例和代码实现(Python).如何做算法的参数调试.以实际应用案例分析各种算法的选择等. 1.每个算法模块按照"原理 ...

  4. python朴素贝叶斯_Python实现的朴素贝叶斯分类器示例

    本文实例讲述了Python实现的朴素贝叶斯分类器.分享给大家供大家参考,具体如下: 因工作中需要,自己写了一个朴素贝叶斯分类器. 对于未出现的属性,采取了拉普拉斯平滑,避免未出现的属性的概率为零导致整 ...

  5. python朴素贝叶斯分布对数据的要求_统计学习方法与Python实现(三)——朴素贝叶斯法...

    统计学习方法与Python实现(三)--朴素贝叶斯法 1.定义 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法. 对于给定的训练数据集,首先基于特征条件独立假设学习输入输出的联合概率分布.然 ...

  6. python朴素贝叶斯的文本分类_自给自足,完全手写一个朴素贝叶斯分类器,完成文本分类...

    Part 1: 本文解决的问题: 我在有这样的一个数据集,里面存放了人们对近期播放电影的评价,当然评价也就分成两部分,好评和差评.我们想利用这些数据训练一个模型,然后可以自动的对影评做出判断,到底是好 ...

  7. python朴素贝叶斯对wine_基于朴素贝叶斯对Wine数据集分类

    夏赵建+杜友福 摘要:为了解决由于葡萄酒的组成成分十分复杂与多样而导致它的类型分类与品质划分困难的问题,减少由于感官评审法对葡萄酒的评测周期长.影响因素多,主观性强和重复性差以及近红外光谱和三维荧光光 ...

  8. python朴素贝叶斯分布对数据的要求_python之朴素贝叶斯对展会数据分类

    1.目的 在公司实习,分别从国内国外两个网站爬取了一些展会数据,在数据处理上目前需要将其按照各个类别分类好,并提供对应展会地址的经纬度. 国内数据如下: 01.png 国内数据比较少,占四百多条,在类 ...

  9. python朴素贝叶斯回归预测的结果全是1_python – 朴素贝叶斯概率总是1

    我开始使用sklearn.naive_bayes.GaussianNB进行文本分类,并且获得了很好的初始结果.我想使用分类器返回的概率作为置信度的度量,但predict_proba()方法总是为所选类 ...

最新文章

  1. EXP-00091错误的说明和解决方法
  2. [转]Visual Assist X设置
  3. 【Android 逆向】Android 逆向通用工具开发 ( 静态库项目中的网络操作核心类 CNetwork 分析 )
  4. 想从事分布式系统,计算,hadoop等方面,需要哪些基础,推荐哪些书籍?--转自知乎...
  5. SQL注入之union联合注入——sql-lab第一关(非常非常详细的过程)
  6. Transformer and set Trasformer
  7. Android学习笔记----ArcGIS在线地图服务(Android API)坐标纠偏
  8. OpenCV可移植图形工具HighGUI实现图像和视频操作
  9. 防止 重复重建相同的表
  10. python中bar是什么_python-如何添加一个单独的colobar,它将显示来...
  11. 华为最强自研 NPU 问世,麒麟 810 测评远超骁龙系列!
  12. python数组对应元素相乘_python – 将一个数组的每一行与numpy中另一个数组的每个元素相乘...
  13. QStardict移植到i.MX-287开发板
  14. Android GridLayout 网格布局
  15. Linux下黑白棋c语言程序,黑白棋c语言程序.doc
  16. redis打开外网访问端口
  17. Java笔记(韩顺平Java基础1-2章)
  18. 【AD封装】2.4G PCB天线(量产用)
  19. 最详细的工业网络通讯技术与协议总结解读(现场总线、工业以太网、工业无线)
  20. POJ 1008 玛雅日历

热门文章

  1. opengl加载显示3D模型q3s类型文件
  2. wxWidgets 示例演示 wxWrapSizer 的使用
  3. wxWidgets:使用自定义对话框和 sizer
  4. 使用 Boost.MPI 的 reduce() 计算最小值的示例
  5. ITK:从文件读取转换
  6. VTK:小部件之ImplicitPlaneWidget2
  7. VTK:可视化之TransformActorCollection
  8. VTK:Utilities之CameraModifiedEvent
  9. VTK:网格之ClipFrustum
  10. VTK:Medical之GenerateModelsFromLabels