机器学习实战——朴素贝叶斯

2023-10-26

目录

一、朴素贝叶斯理论

1.概述

2.朴素贝叶斯特点

3.贝叶斯决策理论

4.条件概率与全概率公式

5.贝叶斯推断

二、朴素贝叶斯分类器应用

拉普拉斯修正

三、垃圾邮件分类


一、朴素贝叶斯理论

1.概述

        朴素贝叶斯算法是有监督的学习算法,解决的是分类问题。其分类原理就是利用贝叶斯公式根据某特征的先验概率计算出其后验概率,然后选择具有最大后验概率的类作为该特征所属的类。之所以称之为”朴素”,是因为贝叶斯分类只做最原始、最简单的假设:所有的特征之间是统计独立的。但由于该算法以自变量之间的独立(条件特征独立)性和连续变量的正态性假设为前提,就会导致算法精度在某种程度上受影响。

2.朴素贝叶斯特点

优点:

  1. 对小规模的数据表现很好,能个处理多分类任务,适合增量式训练(即可以实时的对新增的样本进行训练)
  2. 朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率
  3. 朴素贝叶斯算法的健壮性比较好,对于不同类型的数据集不会呈现出太大的差异性

缺点:

  1. 由于是通过先验概率和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率
  2. 对输入数据的表达形式较敏感
  3. 数据集属性的独立性在很多情况下是很难满足的,因为数据集的属性之间往往都存在着相互关联,在属性个数比较多或者属性之间相关性较大时,分类效果不好

3.贝叶斯决策理论

        朴素贝叶斯是贝叶斯决策理论的一部分,所以有必要了解一下贝叶斯决策理论。假设有一个数据集,它由两类数据组成,如下图:

我们现在用p1(x,y)表示数据点(x,y)属于类别1(图中红色圆点表示的类别)的概率,用p2(x,y)表示数据点(x,y)属于类别2(图中蓝色三角形表示的类别)的概率,那么对于一个新数据点(x,y),可以用下面的规则来判断它的类别:

  • 如果p1(x,y) > p2(x,y),那么类别为1
  • 如果p1(x,y) < p2(x,y),那么类别为2

也就是说,我们会选择高概率对应的类别。这就是贝叶斯决策理论的核心思想࿰

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习实战——朴素贝叶斯 的相关文章

  • 在java程序中使用c++ Dll

    我正在尝试使用System LoadLibrary 使用我用 C 编写的一个简单的 dll UseDllInJava java import com sun jna Library import com sun jna Native imp
  • 为什么存在 async 关键字

    浏览 msdn 9 频道视频时 我发现以下未答复的评论 希望有人能解释一下 我不明白 async 关键字的意义 为什么不直接允许 任何时候方法返回任务时都会使用await关键字 就像迭代器一样 可以在任何返回 IEnumerable 的方法
  • 将字节数组转换为托管结构

    更新 这个问题的答案帮助我编写了开源项目GitHub 上的 AlicanC 现代战争 2 工具 https github com AlicanC AlicanC s Modern Warfare 2 Tool 你可以看到我是如何阅读这些数据
  • 从多线程程序中调用 system()

    我们正在开发一个用 C 编写的多线程内存消耗应用程序 我们必须执行大量的 shellscript linux 命令 并获取返回码 读完之后article http www linuxprogrammingblog com threads a
  • 在 C# 中生成 HMAC-SHA1

    我正在尝试使用 C 来使用 REST API API 创建者提供了以下用于 hmac 创建的伪代码 var key1 sha1 body var key2 key1 SECRET KEY var key3 sha1 key2 var sig
  • SSL/TLS/HTTPS 站点在 C#/.NET WebBrowser 控件中非常慢,但在 Internet Explorer 中则很好

    背景 我正在修改自动维基浏览器 http en wikipedia org wiki Wikipedia AutoWikiBrowser使用托管在安全服务器上的 MediaWiki 站点 我允许用户通过 C 应用程序中的 WebBrowse
  • 为什么大多数平台上没有“aligned_realloc”?

    MSVC有自己的非标准函数 aligned malloc aligned realloc and aligned free C 17和C11引入了 std aligned alloc 其结果可以是de分配有free or realloc B
  • 如何创建用于 QML 的通用对象模型?

    我想知道是否有任何宏或方法如何将 Qt 模型注册为 QObject 的属性 例如 我有AnimalModel http doc qt io qt 5 qtquick modelviewsdata cppmodels html qabstra
  • 带 If 的嵌套 For 循环的时间复杂度

    void f int n for int i 1 i lt n i if i int sqrt n 0 for int k 0 k lt pow i 3 k do something 我的思考过程 执行if语句的次数 sum i 1 to
  • 无法解析远程名称 - webclient

    我面临这个错误 The remote name could not be resolved russgates85 001 site1 smarterasp net 当我请求使用 Web 客户端读取 html 内容时 出现错误 下面是我的代
  • 2D morton 码编码/解码 64 位

    如何将给定 x y 的莫顿代码 z 顺序 编码 解码为 32 位无符号整数 生成 64 位莫顿代码 反之亦然 我确实有 xy2d 和 d2xy 但仅适用于 16 位宽的坐标 产生 32 位莫顿数 在网上查了很多 但没有找到 请帮忙 如果您可
  • libxml2 xmlChar * 到 std::wstring

    libxml2似乎将所有字符串存储在 UTF 8 中 如xmlChar xmlChar This is a basic byte in an UTF 8 encoded string It s unsigned allowing to pi
  • 使用 WF 的多线程应用程序的错误处理模式?

    我正在写一个又长又详细的问题 但只是放弃了它 转而选择一个更简单的问题 但我在这里找不到答案 应用程序简要说明 我有一个 WPF 应用程序 它生成多个线程 每个线程执行自己的 WF 处理线程和 WF 中的错误 允许用户从 GUI 端进行交互
  • C++ 错误 - “成员初始值设定项表达式列表被视为复合表达式”

    我收到一个我不熟悉的 C 编译器错误 可能是一个非常愚蠢的错误 但我不能完全指出它 Error test cpp 27 error member initializer expression list treated as compound
  • 初始化 LPCTSTR /LPCWSTR [重复]

    这个问题在这里已经有答案了 我很难理解并使其正常工作 基本上归结为我无法成功初始化这种类型的变量 它需要有说的内容7 2E25DC9D 0 USB003 有人可以解释 展示这种类型的正确初始化和类似的值吗 我已查看此站点上的所有帮助 将项目
  • 从 Delphi 调用 C# dll

    我用单一方法编写了 Net 3 5 dll 由Delphi exe调用 不幸的是它不起作用 步骤 1 使用以下代码创建 C 3 5 dll public class MyDllClass public static int MyDllMet
  • 使用 HTMLAgilityPack 从节点的子节点中选择所有

    我有以下代码用于获取 html 页面 将网址设置为绝对 然后将链接设置为 rel nofollow 并在新窗口 选项卡中打开 我的问题是关于将属性添加到 a s string url http www mysite com string s
  • 受限 AppDomain 中的代码访问安全异常

    Goal 我需要在权限非常有限的 AppDomain 中运行一些代码 它不应该访问任何花哨或不安全的内容 except对于我在其他地方定义的一些辅助方法 我做了什么 我正在创建一个具有所需基本权限的沙箱 AppDomain 并创建一个运行代
  • OSError: [WinError 193] %1 不是有效的 Win32 应用程序,同时使用 CTypes 在 python 中读取自定义 DLL

    我正在尝试编写用 python 封装 C 库的代码 我计划使用 CTypes 来完成此操作 并使用 Visual Studio 来编译我的 DLL 我从一个简单的函数开始 在 Visual Studio 内的标头中添加了以下内容 然后将其构
  • 在 Xamarin 中获取 OutOfMemoryException

    java lang OutOfMemoryError 考虑增加 JavaMaximumHeapSize Java 执行时内存不足 java exe 我的 Visualstudio Xamarin 项目出现内存不足异常 请帮助我如何解决此问题

随机推荐

  • IDEA 插件代理设置

    一 ctrl alt s 打开设置
  • pytorch JIT浅解析

    概要 Torch Script中的核心数据结构是ScriptModule 它是Torch的nn Module的类似物 代表整个模型作为子模块树 与普通模块一样 ScriptModule中的每个单独模块都可以包含子模块 参数和方法 在nn M
  • Python告诉你:李子柒的螺蛳粉到底有多火?

    居家隔离的日子里 各类方便速食食品成了许多人的心头爱 特别是螺蛳粉 异军突起 火遍全网 几乎卖到脱销 有的螺蛳粉热销店铺的购买页面还显示 现在下单 预售40天后发货 这是种什么操作 万万没想到 这些日子发不出货的 除了口罩 还有螺蛳粉 今天
  • 单调队列优化的DP问题

    概述 单调队列就是通过排除求最值时候的冗余 从而是队列具有性质 可以方便求解问题 DP的两个阶段 朴素DP的基本原理 闫氏DP分析法 对朴素DP进行优化 闫氏DP分析法的拓展 在一个有限的集合中求最值 单调队列练习 135 最大子序和 输入
  • JAVA抠图证件照,大头照更换背景或透明

    本文是基础版 使用算法实现请查看 http t csdn cn U8Y4C 使用hutool包 maven引入
  • 道德经学习202220820

    第一章 道可道 非常道 名可名 非常名 无 名天地之始 有 名万物之母 故常无 欲以观其妙 常有 欲以观其徼 jiao 此两者 同出而异名 同谓之玄 玄之又玄 众妙之门 能用言语说出来的道 都不是永恒的终极的道 能形容出来的名都不是永恒的终
  • 22年新款MacBookAir屏幕解析

    先说结论 搭载M2芯片的AIR 很值得买 屏幕 Liquid视网膜显示屏 像素 2550 1664 亮度 500nit 色域 P3 技术 原彩显示技术 Liquid是液晶的意思 但在这里 Liquid是圆角的意思 可以这么说 搭载M2芯片的
  • 【设计模式】-监听者模式和观察者模式的区别与联系

    前言 监听者模式和观察者模式在平时开发中或在Spring源码中经常有碰到 两者乍看上去好像差不多 但为何会分为两种不同的设计模式 究竟是人性的扭曲还是道德的沦丧 让我们一起走进本篇 深入解析两者的异同和使用场景 目录 1 介绍 1 1监听者
  • 数据隐私、AI 交互和知识管理:DB-GPT 的综合解决方案

    python telegram bot python telegram bot Stars 22 9k License GPL 3 0 这个项目是一个提供纯 Python 异步接口的 Telegram Bot API 库 它与 Python
  • extern声明外部结构体

    结构体是一种类型 定义一种类型最好是在 h文件定义 这样其他地方想用这个结构体 只需包含此 h文件即可 但是定义结构体变量的话 最好载 c文件定义 为了防止重复定义 所以不建议在 h文件中定义变量 然后 h里面extern声明 其他 c文件
  • 1 恢复MySQL误删数据

    作者 一个人的孤独自白 cnblogs com mrl p 9959365 html 相信后端研发的同学在开发过程经常会遇到产品临时修改线上数据的需求 如果手法很稳那么很庆幸可以很快完成任务 很不幸某一天突然手一抖把表里的数据修改错误或者误
  • 利用OpenLayers创建wkt字符串

    var polygon OpenLayers Geometry Polygon createRegularPolygon new OpenLayers Geometry Point 6 49 2 18 0 var feature new O
  • blob (Binary Large Object)

    在深度学习中 二进制大对象 Binary Large Object BLOB 通常指的是存储模型权重或预训练模型的文件 这些文件可以非常大 通常以二进制格式存储 并在深度学习框架中用于加载和保存模型 在深度学习中 模型的权重是模型在训练过程
  • recyclerView的滑动

    1 无感知滑动 layoutManager scrollToPositionWithOffset int position int offset 第一个参数是指第几项 第二个参数是跟顶部的距离 当你的屏幕只能显示10项就满了 但是你的dat
  • 数组以及指针数组遍历&Demo

    遍历数组以及指针数组 Demo By C include
  • 【以太坊开发】 问题 etherbase must be explicitly specified

    1 使用geth启动在私有链环境下 提示如下问题 html view plain copy Updated mining threads threads 0 INFO 08 17 21 31 30 Transaction pool pric
  • flutter pubspec添加依赖无法获取flutter_test

    pubspec yaml 文件初次添加的时候拷过来没格式化 packages get 一直失败各种尝试无果 后来格式化了一下 就可以了
  • 【rust】

    系列文章目录 rust 00 开发环境搭建 rust 01 编译并运行第一个rust程序 rust 02 语法基础 变量 不可变 和常量 rust 03 语法基础 数据类型 rust 04 语法基础 函数 rust 05 语法基础 流程控制
  • windows下启动nacos(单机配置)

    windows下启动nacos 下载nacos 找到github地址 并根据对应的版本进行下载 如果下载过慢的话 可以使用迅雷下载 1下载完成后 进行解压 之后打开 conf application properties文件 2 打开后 我
  • 机器学习实战——朴素贝叶斯

    目录 一 朴素贝叶斯理论 1 概述 2 朴素贝叶斯特点 3 贝叶斯决策理论 4 条件概率与全概率公式 5 贝叶斯推断 二 朴素贝叶斯分类器应用 拉普拉斯修正 三 垃圾邮件分类 一 朴素贝叶斯理论 1 概述 朴素贝叶斯算法是有监督的学习算法