06_机器学习算法_朴素贝叶斯

在这里插入图片描述

1. 朴素贝叶斯的介绍与应用

1.1 朴素贝叶斯的介绍

朴素贝叶斯算法(Naive Bayes, NB)是应用最为广泛的分类算法之一。它是基于贝叶斯定义和特征条件独立假设的分类方法。由于朴素贝叶斯法基于贝叶斯公式计算得到,有着坚实的数学基础,以及稳定的分类效率。NB模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。当年的垃圾邮件分类都是基于朴素贝叶斯分类器识别的。

什么是条件概率,我们从一个摸球的例子来理解。我们有两个桶:灰色桶和绿色桶,一共有7个小球,4个蓝色和3个紫色,分布如下图:

在这里插入图片描述

从这7个球中,随机选择1个球是紫色的概率p是多少?选择过程如下:

  • 先选择桶
  • 再从选择的桶中选择一个球

p ( 球 = 紫色 ) = p ( 选择桶 ) ∗ p ( 从灰桶中选择紫色 ) + p ( 选择绿桶 ) ∗ p ( 从绿桶中选择紫色 ) = 1 2 ∗ 2 4 + 1 2 ∗ 1 3 p(球 = 紫色)=p(选择桶) * p(从灰桶中选择紫色)+p(选择绿桶)*p(从绿桶中选择紫色)=\frac{1}{2}*\frac{2}{4}+\frac{1}{2}*\frac{1}{3} p(=紫色)=p(选择桶)p(从灰桶中选择紫色)+p(选择绿桶)p(从绿桶中选择紫色)=2142+2131

上述我们选择小球的过程就是条件概率的过程,在选择桶的颜色的情况下是紫色的概率,另一种计算条件概率的方法是贝叶斯准则。

贝叶斯公式是英国数学家提出的一个数据公式:

p ( A ∣ B ) = p ( A , B ) p ( B ) = p ( B ∣ A ) ∗ p ( A ) ∑ a ∈ ℑ A p ( B ∣ a ) ∗ p ( a ) p(A|B)=\frac{p(A,B)}{p(B)}=\frac{p(B|A)*p(A)}{\sum_{a\in\Im_{A}}p(B|a)*p(a)} p(AB)=p(B)p(A,B)=aAp(Ba)p(a)p(BA)p(A)

p ( A , B ) : p(A,B): p(A,B) 表示事件A和事件B同时发生的概率。

p ( B ) : p(B): p(B) 表示事件B发生的概率,叫做先验概率; p ( A ) : p(A): p(A) 表示事件A发生的概率。

p ( A ∣ B ) : p(A|B): p(AB) 表示当事件B发生的条件下,事件A发生的概率叫做后验概率。

我们用一句话理解贝叶斯:世间很多事都存在某种联系,假设事件A和事件B。人们常常使用已经发生的某个事件去推断我们想要知道的之间的概率。例如,医生在确诊的时候,会根据病人的舌苔、心跳等来判断病人得了什么病。对病人来说,只会关注得了什么并病,医生会通过已经发生的事件来确诊具体的情况。这里就用到了贝叶斯思想,A是已经发生的病人症状,在A发生的条件下是B_i的概率。

1.2 朴素贝叶斯的应用

朴素贝叶斯算法假设所有特征的出现相互独立互不影响,每一特征同等重要,又因为其简单,而且具有很好的可解释性。一般相对于其他精心设计的更复杂的分类算法,朴素贝叶斯分类算法是学习效率和分类效果较好的分类器之一。朴素贝叶斯算法一般应用在文本分类,垃圾邮件的分类,信用评估,钓鱼网站检测等

2. 贝叶斯分类算法实践

2.1 鸢尾花数据集

2.1.1 库函数导入

import warnings
warnings.filterwarnings('ignore')
import numpy as np# 加载鸢尾花数据集
from sklearn import datasets# 导入高斯朴素贝叶斯分类器
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split

2.1.2 数据导入&分析

X, y = datasets.load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

我们需要计算两个概率分别是:条件概率: P ( X ( i ) = x i ∣ Y = c k ) P(X^{(i)}=x^{i}|Y=c_k) P(X(i)=xiY=ck) 和类目 c k c_k ck 的先验概率: P ( Y = c k ) P(Y=c_k) P(Y=ck)

通过分析发现训练数据是数值类型的数据,这里假设每个特征服从高斯分布,因此我们选择高斯朴素贝叶斯来进行分类计算。

2.1.3 模型训练

# 使用高斯朴素贝叶斯进行计算
clf = GaussianNB(var_smoothing=1e-8)
clf.fit(X_train, y_train)
GaussianNB(var_smoothing=1e-08)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
GaussianNB(var_smoothing=1e-08)

2.1.4 模型评估和预测

# 评估
y_pred= clf.predict(X_test)
acc = np.sum(y_test == y_pred) / X_test.shape[0]
print("Test Acc :%.3f" % acc)# 预测
y_proda = clf.predict_proba(X_test[:1])
print(clf.predict(X_test[:1]))
print("预计的概率值:", y_proda)
Test Acc :0.967
[2]
预计的概率值: [[1.63542393e-232 2.18880483e-006 9.99997811e-001]]

2.1.5 原理简析

高斯朴素贝叶斯假设每个特征都服从高斯分布,我们把一个随机变量X服从数学期望为μ,方差为σ2的数据分布称为高斯分布。对于每个特征我们一般使用平均值来估计μ和使用所有特征的方差估计σ2。

P ( X ( i ) = x ( i ) ∣ Y = c k ) = 1 2 π σ y 2 e x p ( − ( x ( i ) − μ c k ) 2 2 σ c k 2 ) P(X^{(i)}=x^{(i)}|Y=c_k)=\frac{1}{\sqrt{2\pi\sigma_{y}^{2}}}exp(-\frac{(x^{(i)}-\mu_{c_k})^{2}}{2\sigma_{c_k}^{2}}) P(X(i)=x(i)Y=ck)=2πσ

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1425240.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Mac SourceTree配置ssh git仓库

一、准备条件 1、Mac系统电脑 2、安装好SourceTree 3、获取ssh git仓库地址 二、配置步骤 1、打开终端命令行 ssh -t rsa -C "xxx""xxx"代表注册git仓库时,使用的用户名,可以是字符串也可以是邮箱地址。 如果遇到输入密码&#xf…

2024MySQL8安装与绿色版Navicat连接【提供安装包】数据库

视频教程面向人群和使用方法: 1:大学生【解决老师作业或自己兴趣学习需要】; 2:第一次需要安装MySQL的开发者【需要简单使用,因为项目会用到】 3:老手二倍速,新手老老实实按照教程一倍速模仿视频操作&am…

照明灯具十大排名哪个品牌好?照明灯具前十名排行榜大公开!

照明灯具十大排名哪个品牌好?护眼台灯作为照明灯具的重要组成部分,其品质与品牌选择显得尤为关键,市面上品质比较好的护眼台灯品牌有书客、明基、松下等品牌。本文旨在为大家揭晓照明灯具十大排名中的佼佼者,揭示照明灯具前十名的…

思科期末大作业

计算机网络,可代写网络作业, 思科cisco模拟器,eve,制作校园局域网、企业局域网,实现路由交换、单臂路由、冗余、ACL、Nat、PAT、DHCP,RIP,OSPF,pppoe等技术,价格合理,详细私聊

原创|手把手教你构建评分卡模型

作者:胡赟豪‍‍‍‍ 本文约2800字,建议阅读5分钟 本文介绍了构建评分卡模型。‍‍‍ 一、背景 在各种机器学习、深度学习模型快速发展的当下,评分卡模型作为一种可解释机器学习模型,仍然在金融、营销等领域被广泛使用。这一模型通…

vue嵌套路由

一、嵌套 children配置 1.父类路由 mymusic 2.子类路由 musicson 1.创建MusicSon组件 <template><div><p>从前和后来</p><p>唯一</p><p>运气来的似有若无</p></div> </template><script>export defaul…

案例 | 澳鹏自动驾驶标注方案入选虎嗅智库行业报告

随着自动驾驶技术发展及方案演进&#xff0c;市场对于数据标注的数量和质量的需求都呈现指数级增长。传统的手工标注已不能满足标注需求&#xff0c;自动标注伴随大模型的发展应运而生。 在这一背景下&#xff0c;虎嗅智库发布《自动驾驶数据标注技术落地洞察》&#xff0c;并…

PCB供电夹子DIY

在刷小红书的时候&#xff0c;看到了清华卓晴教授【https://zhuoqing.blog.csdn.net/】DIY的供电夹子&#xff0c;感觉对于自己DIY PCB的时候供电会比较方便&#xff0c;物料也比较简单&#xff0c;打算复刻一下。 使用物料 1、小夹子&#xff0c;文具店都有卖&#xff0c;选…

专业做护眼灯的有哪些品牌,强烈分享几款专业护眼灯的牌子

随着学生们重返校园&#xff0c;家长和孩子们忙于新学期的准备工作&#xff0c;眼睛健康的考量自然也在其中。这也是为何近年来护眼台灯越来越受到欢迎的原因之一。在受欢迎的过程中也会有不少人萌生出“专业做护眼灯的有哪些品牌”这一问题&#xff0c;作为一个长期近视并且日…

SpringBoot+MybatisPlus实现读写分离,自动切换数据源,主从同步

读写分离有必要吗&#xff1f; 实现读写分离势必要与你所做的项目相关&#xff0c;如果项目读多写少&#xff0c;那就可以设置读写分离&#xff0c;让“读”可以更快&#xff0c;因为你可以把你的“读”数据库的innodb设置为MyISAM引擎&#xff0c;让MySQL处理速度更快。 实现…

【无标题】海图微电子产品

一、HT2300 1、产品介绍 HT2300在全分辨率 (1920 H 1080 V) 下&#xff0c;它们的帧率可达2500fps。加上全局快门像素和低噪声等特性&#xff0c;可满足对高分辨率&#xff0c;高速CMOS图像传感器的需求&#xff0c;适用于科学研究&#xff0c;工业检测和数字影视中高速视频捕捉…

汇凯金业:贵金属投资如何操作

投资贵金属虽然可能看起来令人生畏&#xff0c;但只要你知道如何操作&#xff0c;就可能会变得实际可行。以下是操作贵金属投资的基本步骤&#xff1a; 1. 了解市场 第一步是学习贵金属投资的基础知识&#xff0c;了解市场的运作方式&#xff0c;类型的区别(如黄金、白银、铂…

JETBRAINS IDES 分享一个2099通用试用码,支持一键升级!DataGrip 2024 版

文章目录 废话不多说上教程&#xff1a;&#xff08;动画教程 图文教程&#xff09;一、动画教程激活 与 升级&#xff08;至最新版本&#xff09; 二、图文教程 &#xff08;推荐&#xff09;Stage 1.下载安装 toolbox-app&#xff08;全家桶管理工具&#xff09;Stage 2 : 下…

【手势识别-UILongPressGestureRecognizer长按 Objective-C语言】

一、我们来说这个长按啊, 1.长按这个手势,也是,步骤都是一样的,首先,也是这三大步啊, 1)创建手势对象 2)对某一个view添加手势 3)实现手势的方法 首先,也是三大步, 1)创建手势对象:首先,你要告诉我,你要使用哪一个手势,我要使用一个叫做UILongPressGesture…

【吊打面试官系列】Java高并发篇 - 创建线程的有哪些方式?

大家好&#xff0c;我是锋哥。今天分享关于 【创建线程的有哪些方式&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 创建线程的有哪些方式&#xff1f; 1、继承 Thread 类创建线程类 2、通过 Runnable 接口创建线程类 3、通过 Callable 和 Future 创建线程 …

【Maven】Nexus私服简介_下载安装_登录

1、简介 1.1介绍 Nexus私服&#xff0c;也被称为Maven仓库管理器&#xff0c;是许多公司在自己的局域网内搭建的远程仓库服务器。提供了强大的仓库管理功能和构件搜索功能&#xff0c;使得开发人员能够更方便地管理和使用Maven项目中的依赖库。 1.2作用 内网访问&#xff1…

JAVA面试库

1、基础 1.1、面向对象编程有哪些特性 1、抽象 抽象就是对同一个目标的共有的属性、特征、方法、功能、行为等进行抽取并归纳总结&#xff0c;它是一种将复杂现实简单化为模型的过程&#xff0c;它关注的是对象行为&#xff0c;而不用关注具体的实现细节。 在面向对象编程中…

CPT7数据保存详细步骤

一、连接设备、打开NovAtelConnect 软件 (1)点击1,并在2中输入如下命令: LOG RANGEB ONTIME 1 // 输出原始数据记录在板卡LOG RAWEPHEMB ONTIME 1 // 输出 GPS 原始星历记录在板卡LOG bdsephemerisb ONTIME 1 // 输出

关爱内向儿童:理解与支持助力成长

引言 每个孩子都是独特的&#xff0c;有些孩子天生性格外向&#xff0c;善于表达&#xff0c;而有些孩子则比较内向&#xff0c;喜欢独处。内向并不是缺点&#xff0c;而是一种性格特质。然而&#xff0c;内向的孩子在社交和学习过程中可能会面临一些挑战。本文将探讨内向儿童…

沉钒废水回收钒

沉钒废水处理与钒回收的重要性 沉钒废水是含钒元素的特殊废水&#xff0c;钒在工业生产中广泛应用&#xff0c;但其排放造成资源浪费与环境威胁。为实现钒的有效回收&#xff0c;研究和实践了多种处理技术。 沉钒废水处理技术 1. 化学沉淀法&#xff1a;添加沉淀剂&#xff…