分类算法——朴素贝叶斯(四)

概率基础

1概率定义

  • 概率定义为一件事情发生的可能性
    • 扔出一个硬币,结果头像朝上
  • P(X):取值在[0,1]

2女神是否喜欢计算案例
在讲这两个概率之前我们通过一个例子,来计算一些结果:
在这里插入图片描述

  • 问题如下:
    1、女神喜欢的概率?
    2、职业是程序员并且体型匀称的概率?
    3、在女神喜欢的条件下,职业是程序员的概率?
    4、在女神喜欢的条件下,职业是程序员,体重是超重的概率?

  • 计算结果为:

P(喜欢)=4/7
P(程序员,匀称)=1/7
P(程序员|喜欢)=2/4 = 1/2
P(程序员,超重|喜欢)=1/4

联合概率、条件概率与相互独立

  • 联合概率:包含多个条件,且所有条件同时成立的概率
    • 记作:P(A,B)
    • 例如:P(程序员,匀称),P(程序员,超重|喜欢)
  • 条件概率:就是事件A在另外一个事件B已经发生条件下的发生概率
    • 记作:P(A|B)
    • 例如:P(程序员|喜欢),P(程序员,超重|喜欢)
  • 相互独立:如果P(A,B)=P(A)P(B),则称事件A与事件B相互独立。

贝叶斯公式

1公式
在这里插入图片描述

注:W为给定文档的特征值(频数统计,预测文档提供),C为文档类别。

2实例计算
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
即:

P(喜欢|产品,超重)=P(产品,超重|喜欢)P(喜欢)/P(产品,超重)

上式中,P(产品,超重|喜欢)和P(产品,超重)的结果均为0,导致无法计算结果。这是因为样本量太少了,不具有代表性,本来现实生活中,肯定是存在职业是产品经理并且体重超重的人的,P(产品,超重)不可能为0;而且事件“职业是产品经理”和事件“体重超重”通常被认为是相互独立的事件,但是,根据我们有限的7个样本计算“P(产品,超重)=P(产品)P(超重)”不成立。
而朴素贝叶斯可以帮助我们解决这个问题
朴素贝叶斯,简单理解,就是假定了特征与特征之间相互独立的贝叶斯公式。也就是说,朴素贝叶斯,之所以朴素,就在于假定了特征与特征相互独立。
所以,思考题如果按照朴素贝叶斯的思路来解决,就可以是:

P(产品,超重)=P(产品)*P(超重):2/7*3/7=6/49
p(产品,超重|喜欢)=P(产品|喜欢)*P(超重|喜欢)=1/2*1/4=1/8
P(喜欢|产品,超重)=P(产品,超重|喜欢)P(喜欢)/P(产品,超重)=1/8 * 4/7 / 6/49 = 7/12

朴素:假定特征与特征之间是相互独立的
贝叶斯:贝叶斯公式

在这里插入图片描述

公式分为三个部分:

  • P(C):每个文档类别的概率(某文档类别数/总文档数量)
  • P(W | C):给定类别下特征((被预测文档中出现的词)的概率
    • 计算方法:P(F1 | C)=Ni/N(训练文档中去计算)
      • Ni为该F1词在C类别所有文档中出现的次数
      • N为所属类别C下的文档所有词出现的次数和
  • P(F1,F2…)预测文档中每个词的概率

如果计算两个类别概率比较:
所以我们只要比较前面的大小就可以,得出谁的概率大

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

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

相关文章

sql知识总结二

一.报错注入 1.什么是报错注入? 这是一种页面响应形式,响应过程如下: 用户在前台页面输入检索内容----->后台将前台输入的检索内容无加区别的拼接成sql语句,送给数据库执行------>数据库将执行的结果返回给后台&#xff…

2024第十五届蓝桥杯JavaB组省赛部分题目

目录 第三题 第四题 第五题 第六题 第七题 第八题 转载请声明出处,谢谢! 填空题暂时可以移步另一篇文章:2024第十五届蓝桥杯 Java B组 填空题-CSDN博客 第三题 第四题 第五题 第六题 第七题 第八题 制作不易,还请点个赞支持…

数据结构-栈和队列刷题集(长期更新)

文章目录 万能计算器的实现以及源码分析1. leetcode 150 逆波兰表达式求值 万能计算器的实现以及源码分析 /*** 我们尝试写一个完整版的计算器,由于计算机不能很好的识别括号,所以一般要转换为逆波兰表达式求解* 思路解析 :* 1. 输入一个 中缀表达式* 2. 中缀表达式转化为list…

SpringBoot基于RabbitMQ实现消息可靠性

文章目录 1. ☃️概述2. ☃️生产者消息确认2.1 ❄️❄️概述2.2 ❄️❄️实战⛷️⛷️⛷️2.2.1 修改配置⛷️⛷️⛷️2.2.2 定义 Return 回调⛷️⛷️⛷️2.2.3 定义ConfirmCallback 3. ☃️消息持久化3.1 ❄️❄️交换机持久化3.2 ❄️❄️队列持久化3.3 ❄️❄️消息持久化…

进程、线程和协程

进程、线程和协程 进程是程序的执行实例 线程是进程的执行路径 协程是基于线程之上但又比线程更加轻量级的存在 进程与线程的区别 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位 进程和程序的区别 程序:执行特定任务的一串代码&a…

牛客Linux高并发服务器开发学习第二天

Gcc编译 利用gcc 生成应用时如果不加-o 和应用名,默认生成a.out 可以用./ a.out打开 Gcc工作流程 可执行程序Windows系统中为.exe Linux系统中为.out g也可以编辑c程序 gcc也可以编译cpp代码,只是在编译阶段gcc不能自动共和C程序使用的库进行联接&…

JS-43-Node.js02-安装Node.js和npm

Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,可以让JavaScript实现后端开发,所以,首先在本机安装Node.js环境。 一、安装Node.js 官网:下载 Node.js 默认两个版本的下载: 64位windows系统的LTS(Long Tim…

CST电磁仿真物体表面的Sheet结构和生成3D Model【基础教程】

由Sheet结构生成3D Model 使用Shell Solid and Thicken Sheet! Modeling > Tools > Shape Tools > Shell Solid or Thicken Sheet Shell Solidor ThickenSheet会根据不同类型的模型提供两种完全不同的功能。 如033.由3D Model生成Cavity 所述&#xff…

UE5 GameplayAbility 源码定义解析

这一篇文章主要是对GA的源码定义文件的解析,方便后续学习对GA内部的内容做一个了解,而不是去学习GA的实现。 首先对源码注释进行一个了解 // Copyright Epic Games, Inc. All Rights Reserved.#pragma once#include "CoreMinimal.h"// 包含核…

从日志读取关键数据,按照相关日期进行数据分析

分析靠近后向挡墙的距离 import os import re import sys import matplotlib.pyplot as plt from datetime import datetimedef process_distance_data(file_path):distances []timestamps []try:with open(file_path, r, encodingutf-8, errorsignore) as file:for line in…

飞行机器人专栏(十四)-- Kinect DK 人体骨骼点运动提取方法

系列文章目录 Ubuntu 18.04/20.04 CV环境配置(下)--手势识别TRTposeKinect DK人体骨骼识别_ubuntu kinect骨骼测试-CSDN博客文章浏览阅读1.3k次。trt_pose_ros kinect实现手势识别和人体骨骼识别,用于机器人运动控制参考_ubuntu kinect骨骼测…

Postgresql源码(126)TupleStore使用场景与原理分析

相关 《Postgresql源码(125)游标恢复执行的原理分析》 《Postgresql游标使用介绍(cursor)》 总结 开源PG中使用tuple store来缓存tuple集,默认使用work_mem空间存放,超过可以落盘。在PL的returns setof场景…

Pascal VOC(VOC 2012、VOC 2007) 数据集的简介

一、数据集介绍 PascalVOC(2005~2012)数据集是PASCAL VOC挑战官方使用的数据集。该数据集包含20类的物体。每张图片都有标注,标注的物体包括人、动物(如猫、狗、岛等)、交通工具(如车、船飞机等)、家具(如椅…

Redux极客园项目初始化搭建

基本结构搭建 实现步骤 在 Login/index.js 中创建登录页面基本结构在 Login 目录中创建 index.scss 文件,指定组件样式将 logo.png 和 login.png 拷贝到 assets 目录中 代码实现 pages/Login/index.js import ./index.scss import { Card, Form, Input, Button }…

【LLM】认识LLM

文章目录 1.LLM1.1 LLM简介1.2 LLM发展1.3 市面常见的LLM1.4 LLM涌现的能力 2.RAG2.1 RAG简介2.2 RAG 的工作流程2.3 RAG 和 Finetune 对比2.4 RAG的使用场景分析 3. LangChain3.1 LangChain简介3.2 LangChain的核心组件3.3 LangChain 入门 4.开发 RAG 应用的整体流程5. 环境配…

【HBase】HBase深度解析:特性、实战应用及核心流程全景

HBase 是一个开源的、非关系型的分布式数据库(NoSQL),它建立在 Hadoop 文件系统(HDFS)之上。HBase 旨在存储海量的稀疏数据集,这种数据集通常是由用户界面事件、消息系统、传感器设备等产生的时间序列数据。…

GPT状态和原理 - 解密OpenAI模型训练

目录 1 如何训练 GPT 助手 1.1 第一阶段 Pretraining 预训练 1.2 第二阶段:Supervised Finetuning有监督微调 1.3 第三阶段 Reward Modeling 奖励建模 1.4 第四阶段 Reinforcement Learning 强化学习 1.5 总结 2 第二部分:如何有效的应用在您的应…

mapreduce中的MapTask工作机制(Hadoop)

MapTask工作机制 MapReduce中的Map任务是整个计算过程的第一阶段,其主要工作是将输入数据分片并进行处理,生成中间键值对,为后续的Shuffle和Sort阶段做准备。 1. 输入数据的划分: 输入数据通常存储在分布式文件系统(…

Go中的HTTP请求处理概述

使用 Go 处理 HTTP 请求主要涉及两件事:ServeMuxes 和 Handlers。 ServeMux本质上是一个 HTTP 请求路由器(或多路复用器)。它将传入的请求与预定义的 URL 路径列表进行比较,并在找到匹配时调用路径的关联 handler。 handler 负责写…

原生实现ajax

1 什么是ajax AJAX Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网…