组队学习——贝叶斯分类器

news2024/9/20 6:31:46

前言

本次数据继续沿用上一次主题的【组队学习——支持向量机-CSDN博客】

数据处理部分延续【组队学习——支持向量机】主题的处理办法对应划分训练集和验证集

模型选择

本次贝叶斯分类器模型的较多,常用的为高斯朴素贝叶斯分类器、多项式朴素贝叶斯分类器、伯努利朴素贝叶斯分类器、补充朴素贝叶斯分类器、分类朴素贝叶斯分类器

【参考文献:常见机器学习模型(一)—— 贝叶斯分类器_贝叶斯模型-CSDN博客】

1、理解正向概率、逆向概率的定义

2、理解逆向概率引申出来的先验概率、经验概率、条件概率的定义

正向概率:上帝视角,即了解了事情的全貌再做判断

逆向概率:事先不知道,通过经验或者后验结果或者相应条件才了解事件的全貌

借用博主【知了爱啃代码】的贝叶死病的例子帮助大家更好理解什么是贝叶斯公式,如下所示:

常见机器学习模型(一)—— 贝叶斯分类器_贝叶斯模型-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/rongsenmeng2835/article/details/107778187理解原理后再了解一下对应贝叶斯分类器的类别

  • 高斯朴素贝叶斯适用于连续数据。
  • 多项式和伯努利朴素贝叶斯更适用于离散和二元数据。
  • 补充朴素贝叶斯是多项式朴素贝叶斯的改进版本,适用于类别不平衡的问题。
  • 分类朴素贝叶斯适用于分类特征的数据。

步骤1:先理解上述四种贝叶斯分类器的原理,判断本数据适用于哪种分类器的要求

步骤2:对比以上四种贝叶斯分类器,用代码计算出哪一类分类器的准确率最高

代码如下:

# 高斯朴素贝叶斯
gaussian_model = GaussianNB()
gaussian_model.fit(X_train, Y_train)
Y_pred = gaussian_model.predict(X_valid)
print(f"Gaussian Naive Bayes Accuracy: {accuracy_score(Y_valid, Y_pred)}")

# 多项式朴素贝叶斯
multinomial_model = MultinomialNB()
multinomial_model.fit(X_train, Y_train)
Y_pred = multinomial_model.predict(X_valid)
print(f"Multinomial Naive Bayes Accuracy: {accuracy_score(Y_valid, Y_pred)}")

# 伯努利朴素贝叶斯
bernoulli_model = BernoulliNB()
bernoulli_model.fit(X_train, Y_train)
Y_pred = bernoulli_model.predict(X_valid)
print(f"Bernoulli Naive Bayes Accuracy: {accuracy_score(Y_valid, Y_pred)}")

# 补充朴素贝叶斯
complement_model = ComplementNB()
complement_model.fit(X_train, Y_train)
Y_pred = complement_model.predict(X_valid)
print(f"Complement Naive Bayes Accuracy: {accuracy_score(Y_valid, Y_pred)}")

拓展学习

要求对鸢尾花数据集进行分类,如何进行数据预处理(提示:将分类数据转换成定量数据)

第2——145行数据为训练集和验证集数据

第146——151行数据为测试集数据

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

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

相关文章

2024年超好用的4款PDF阅读器推荐

PDF文件已经是我们平时常常会接触到的文件,但是无论是阅读和编辑都需要依赖一些工具,所以今天给大家介绍的是4个很多人都在使用的PDF阅读器。 1、福昕PDF阅读软件 这款PDF编辑器是一个大厂其他的产品,功能非常的强大,…

Build a Large Language Model (From Scratch)GPT-4o翻译和代码每行中文注释Ch4

目录 4 Implementing a GPT model from Scratch To Generate TextThis chapter covers4.1 Coding an LLM architectureListing 4.1 A placeholder GPT model architecture class4.2 Normalizing activations with layer normalization4.3 Implementing a feed forward network …

STM32CUBEMX_SPI_驱动WS2811灯带

STM32CUBEMX_SPI_驱动WS2811灯带 前言: 关于这种带芯片的之前我都是使用GPIO模拟时序,但是带来一个很大的弊端,那就是严重占用CPU资源,使得其他代码逻辑没办法正常执行了,想办法搞一个单片机的外设使用DMA功能&#xf…

LeetCode-day21-1186. 删除一次得到子数组最大和

LeetCode-day21-1186. 删除一次得到子数组最大和 题目描述示例示例1:示例2:示例3: 思路代码 题目描述 给你一个整数数组,返回它的某个 非空 子数组(连续元素)在执行一次可选的删除操作后,所能得…

【学术研究、研究热点、最新前沿】如何跟踪最新的论文

1.跟踪arxiv 使用https://www.arxivdaily.com/接收每天的推送。 2.跟踪热点文章的引用 使用semantic scholar。 3.跟踪某个学术大佬或者主题 3.1 使用web of science。 3.2 使用文献鸟 4.跟踪某个期刊

pico+unity3d 射线交互教程

前期配置:环境配置参考教程一,手部模型参考教程二,场景基于上一篇搭建。 最终效果:手部射线(初始不可见)对准 UI 显示,按下手柄 Trigger 键与可交互 UI(如 Button、Toggle、Slider …

Android APP 基于RecyclerView框架工程(知识体系积累)

说明:这个简单的基于RecyclerView的框架作用在于自己可以将平时积累的一些有效demo整合起来(比如音视频编解码的、opengles的以及其他也去方向的、随着项目增多,工程量的增加,后期想高效的分析和查找并不容易)&#xf…

vscode 环境

这张截图显示的是在VS Code(Visual Studio Code)中选择Python解释器的界面。不同的Python解释器及其虚拟环境列出了可选项,用户可以根据需要选择合适的解释器来运行Python代码。以下是对截图中信息的详细解释: 解释器选择界面 当…

Java小技能:多级组织机构排序并返回树结构(包含每个层级的子节点和业务数据集合)

文章目录 引言I 实体定义1.1 部门1.2 用户组织机构中间表1.3 树状DTOII 抽取组织机构排序方法2.1 树状排序方法2.2 案例III 查询条件构建3.1 根据部门进行权限控制3.2 注入风险引言 需求: 根据组织机构进行数据授权控制,例如控制船舶、船舶设备、摄像头、港区查看权限。 一…

05_解封装和解码

1. 基本概念 容器就是一种文件格式,比如flv、mkv、mp4等。包含下面5种流以及文件头信息。 流是一种视频数据信息的传输方式,5种流:音频,视频,字幕,附件,数据。 包在ffmpeg中代表已经编码好的一…

【LINUX】pr_info函数开发摸索

1、打印开关可随时控制,开机如果要修改是否打印日志的话,需要修改代码重新编译内核才行,其实如果真要搞,应该有其他方法; 2、打印次数,当前代码里边写的是1000次,其实可以根据传参动态修改打印…

CUDA编程00 - 配置CUDA开发环境

第一步: 在一台装有Nvidia显卡和驱动的机器上,用nvidia-smi命令查看显卡所支持cuda版本 第二步: 到Nvidia官网下载CUDA Toolkit并安装,CUDA Toolkit Archive | NVIDIA Developer 安装时按提示下一步即可,安装完成用 …

Django cursor()增删改查和shell环境执行脚本

在Django中,cursor()方法是DatabaseWrapper对象(由django.db.connectio提供)的一个方法,用于创建一个游标对象。这个游标对象可以用来执行SQL命令,从而实现对数据库的增删改查操作。 查询(Select&#xff0…

C++初学者指南-5.标准库(第一部分)--标准库查询存在算法

C初学者指南-5.标准库(第一部分)–标准库查询存在算法 文章目录 C初学者指南-5.标准库(第一部分)--标准库查询存在算法any_of / all_of / none_ofcountcount_if相关内容 不熟悉 C 的标准库算法? ⇒ 简介 any_of / all_of / none_of 如果在输入范围(所有元素…

2024最新教程,在docker中安装kali,并配置ssh连接

docker的基本使用:搭建高效攻防靶场vulfocus与Docker仓库管理实战:从听说到入门 拉取kali官方镜像 docker pull kalilinux/kali-rolling 启动一个kali镜像,将容器中的22端口映射到主机100端口,方便ssh直接连接 docker run -it…

Unity UGUI 之 Toggle

​本文仅作学习笔记与交流,不作任何商业用途本文包括但不限于unity官方手册,唐老狮,麦扣教程知识,引用会标记,如有不足还请斧正​ 1.什么是Toggle? Unity - Manual: Toggle 带复选框的开关,可…

linux-二元信号量和计数信号量-生产者消费者模型以及用二元信号量实现-死锁(2)-侠义消息队列(fifo)-proc文件系统

二元信号量和计数信号量的区别: 二元信号量和计数信号量在嵌入式系统和多任务环境中都是重要的同步机制,用于控制对共享资源的访问。它们之间的主要区别体现在以下几个方面: 1. 状态表示 二元信号量(Binary Semaphore)…

[计算机基础]一、计算机组成原理

计算机组成原理的考察目标为: 1. 掌握单处理器计算机系统中主要部件的工作原理、组成结构以及相互连接方式。 2. 掌握指令集体系结构的基本知识和基本实现方法,对计算机硬件相关问题进行分析,并能够对相关部件进行设计。 3. 理解计算机系统的…

HTML5-canvas1

1、canvas&#xff1a;创建画布 <canvas id"canvas"></canvas>2、画一条直线 var canvasdocument.getElementById(cancas&#xff09;; canvas.width800; canvas.height800; var contextcanvas.getContext(2d); //获得2d绘图上下文环境 //画一条直线 c…

算法 - 图论Dijkstra(原理、思路代码实现、以东南大学真题为例讲解手算方法)

Dijkstra 算法原理&#xff1a; Dijkstra算法是一种经典的用于计算单源最短路径的算法。它可以在带权重的图中找到从源节点到所有其他节点的最短路径。Dijkstra算法通过贪心策略&#xff0c;不断选择当前已知最短路径最小的节点&#xff0c;更新其邻接节点的路径长度&#xff…