day06——朴素贝叶斯算法

news2024/11/27 0:40:08

朴素贝叶斯算法

  • 一、什么是朴素贝叶斯分类方法
  • 二、概率基础知识
    • 1,联合概率
    • 2,条件概率
  • 三、贝叶斯公式
    • 1,公式
    • 2,拉普拉斯平滑系数
  • 四、API
  • 五、实操
    • 案例:20类新闻分类
    • 代码
  • 六、总结

一、什么是朴素贝叶斯分类方法

朴素贝叶斯分类方法是一种基于贝叶斯定理的统计学习分类算法。它假设所有特征之间相互独立,且每个特征对于类别的影响是等价的,因此被称为“朴素”。该方法通过先验概率和观测数据的条件概率来计算后验概率,然后将待分类样本分配到具有最大后验概率的类别中。在文本分类、垃圾邮件过滤、情感分析等领域具有广泛应用。

举例:根据以下数据,此时如果一个男生向女生求婚,男生的四个特点分别是不帅,性格不好,身高矮,不上进,请你判断一下女生是嫁还是不嫁?
在这里插入图片描述

二、概率基础知识

1,联合概率

包含多个条件,且所有条件同时成立的概率
记作:P(A,B)
特性:P(A, B) = P(A)P(B)

2,条件概率

事件A在另外一个事件B已经发生条件下的发生概率
记作:P(A|B)
特性:P(A1,A2|B) = P(A1|B)P(A2|B)
注意:此条件概率的成立,是由于A1,A2相互独立的结果(记忆)

三、贝叶斯公式

1,公式

在这里插入图片描述
例如文章分类计算
在这里插入图片描述
代入公式:

# 由于分母 P(W) 相同,所以直接比较分子
科技:
P(科技|影院,支付宝,云计算)
= 𝑃(影院,支付宝,云计算|科技)∗P(科技)
= (8/100)(20/100)(63/100)(30/90)
= 0.00456109

娱乐:
P(娱乐|影院,支付宝,云计算)
= 𝑃(影院,支付宝,云计算|娱乐)∗P(娱乐)
= (56/121)(15/121)(0/121)(60/90)
= 0

是否为娱乐类别的计算概率为0,这显然不合适,所以用拉普拉斯平滑系数来防止计算概率为0

2,拉普拉斯平滑系数

在这里插入图片描述
此时我们再计算上述的文章类别

P(娱乐|影院,支付宝,云计算) 
= P(影院,支付宝,云计算|娱乐)P(娱乐)
= P(影院|娱乐)*P(支付宝|娱乐)*P(云计算|娱乐)P(娱乐)
= (56+1/121+4)(15+1/121+4)(0+1/121+1*4)(60/90) = 0.00002

四、API

# alpha:拉普拉斯平滑系数
sklearn.naive_bayes.MultinomialNB(alpha = 1.0)

五、实操

案例:20类新闻分类

数据来源于 sklearn,大约有 20000 个新闻组文档,通过 sklearn.datasets.fetch_20newsgroups(subset='all') 来获取。

步骤:

  • 获取数据
  • 分割数据集
  • tfidf进行特征抽取
  • 朴素贝叶斯预测

代码

from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB

news = fetch_20newsgroups(subset='all')

x_train, x_test, y_train, y_test = train_test_split(news.data, news.target, test_size=0.3)

# 对于文本数据,进行特征抽取
tf = TfidfVectorizer()
x_train = tf.fit_transform(x_train)
# 不能调用fit_transform
x_test = tf.transform(x_test)

# estimator估计器流程
mlb = MultinomialNB(alpha=1.0)
mlb.fit(x_train, y_train)

# 进行预测
y_predict = mlb.predict(x_test)
print("预测每篇文章的类别:", y_predict[:100])
print("真实类别为:", y_test[:100])
print("预测准确率为:", mlb.score(x_test, y_test))

六、总结

优点:

  • 朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。
  • 对缺失数据不太敏感,算法也比较简单,常用于文本分类。
  • 分类准确度高,速度快

缺点:

  • 由于使用了样本属性独立性的假设,所以如果特征属性有关联时其效果不好

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

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

相关文章

漫谈大数据 - 如何设计业务埋点方案与数据采集应用

业务埋点和数据分析是在用户行为和业务数据上进行跟踪、收集和分析的关键方法,用于了解用户行为模式、改进产品和服务,并做出数据驱动的决策。 全文1.5万字,建议阅读时间35min。 目录 业务埋点 埋点的重要性 埋点的类型 全埋点 代码埋点…

springboot3自动装配机制原理(小白也看得懂)

springbootApplication注解 实现自动装配的核心就是EnableAutoConfiguration。(springboot就是通过此注解实现自动装配机制,主要作用就是让springboot去扫描默认的配置类,如果没有这个类的话,springboot只会默认扫描启动类下包中各个类的注解…

nuxt3项目在宝塔上使用pm2放到服务器

最近在将nuxt3项目扔到服务器上的时候遇到了一些问题,发现打包后的nuxt项目与正常的vue文件有些差别,缺失了index.html文件。 这边就记录下nuxt3项目是怎么放到服务器上的🤔 一、打包nuxt3项目 执行对应的打包命令 yarn build 二、找…

Electron详解(一):基本介绍

文章目录 一、electron简介二、发展历史三、electron优缺点四、electron和Qt的对比五、使用electron开发的实际案例六、electron 的原理 一、electron简介 Electron(官网:https://www.electronjs.org/zh/)是由Github开发,用HTML&…

17:00面试,还没10分钟就出来了,问的实在是太...

从外包出来,没想到死在另一家厂子 自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到8月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去…

CVE-2022-30887

文章目录 CVE-2022-30887一、漏洞介绍二、渗透步骤1、打开网站2、登录网站3、shell4、文件上传5、查看flag CVE-2022-30887 一、漏洞介绍 多语言药房管理系统 (MPMS) 是用 PHP 和 MySQL 开发的, 该软件的主要目的是在药房和客户之间提供一套接口,客户是该软件的主要…

MLC Chat App上架苹果App Store可在本地运行语言模型;谷歌推出AI设计工具StyleDrop

🦉 AI新闻 🚀 开源项目MLC Chat App上架苹果App Store,可在本地运行语言模型 摘要:CMU助理陈天其教授表示,开源项目MLC LLM的独立聊天应用程序MLC Chat App已上架苹果App Store,允许将任何语言模型本地部…

3.用图神经网络进行图分类

在本教程中,我们将更深入地了解如何将图神经网络(GNN)应用于图分类任务。图分类是指在给定图的数据集的情况下,基于一些结构图的属性对整个图(与节点相反)进行分类的问题。在这里,我们希望嵌入整…

uniapp:HbuildeX项目实现jenkins自动化打包上传

前序: 基于HBuilderX创建的项目。 配置uniapp 指令式打包APP、微信小程序、H5。 ubuntu系统上的jenkins部署基础指令,发送给windows服务器上,windows服务器使用HBuilderX软件的cli.exe执行相关cli命令打包,然后jenkins再调用接口下载打包后的文件。 可实现多线程同时打…

社会主义核心价值观解码

今天随机刷题时,遇到了一个蛮有意思的题,浅浅记录一下,挺好玩的。 题目: [鹤城杯 2021]easy_crypto 难度:很小啦,差不多签到题 文件下载的内容如下: 最开始我以为是把每个词按社会主义那个顺序…

Java基础学习+面向对象

一,基础概念介绍 1.1Java跨平台原理(一次编译,处处运行) Java 源代码经过编译,生成字节码文件,交由 Java 虚拟机来执行,不同得系统有不同得JVM,借助JVM 实现跨平台。就比如说我们在 Windows 下…

Redis内存优化——内存淘汰及回收机制

文章目录 Redis内存优化——内存淘汰及回收机制内存淘汰策略LRU和LFULRU和Redis的近似LRU什么是LRURedis的近似LRU LFU如何选择 内存回收策略惰性删除定期删除 配置文件说明总结 系列文章目录 本文是系列文章,为了增强您的阅读体验,已将系列文章目录放入…

Yakit: 集成化单兵安全能力平台使用教程·MITM交互式劫持篇

Yakit: 集成化单兵安全能力平台使用教程MITM交互式劫持篇 1.免配置抓包2.拦截HTTPS的消息3.代理和浏览器设置4.内容规则:标记/替换流量5.过滤流量6.网站树视角1.免配置抓包 点击手工测试--MITM交互式劫持即可进入MITM劫持页面,点击免配置启动进入免配置启动设置界面(这类似…

ESP32-C2-12模组 使用乐鑫AT固件示例

ESP32C2 AT固件使用 ESP32 C2模组,如图1-1所示 图1-1 ESP32 C2模组 ESP32 C2开发板,如图1-2所示 图1-2 ESP32 C2开发 方案亮点 1、完整的 WiFi 子系统,符合 IEEE 802.11b/g/n 协议,具有 Station 模式、SoftAP 模式、SoftAP Stat…

vue3+uniapp开发小程序踩坑指南(持续更新)

小程序常见问题汇总: 1、TypeError: Cannot read property forceUpdate of undefined 原因:没有配置小程序AppID 2、define is not defined 报错一堆文件找不到,并且有define is not defined错误提示 原因:没有配置基础库或者基…

Linux安装Nginx并部署前端项目【内/外网-保姆级教程】

目录 1下载所需要的安装包 2安装步骤 2.1将下载的完整文件夹通过压缩包的形式,上传到你的路径下解压. 2.2 进入到gcc文件夹下,执行命令: 2.3进入到gcc-c文件夹下,执行命令: 2.4检查gcc、gcc-c是否安装成功 2.5执…

【深度学习】日常笔记

一开始感觉学习方向有点飘忽不定,后面查找资料和思考,发现其实图神经网络、异构图、推荐系统这三者的概念其实是相通,紧密联系的。推荐系统是指根据用户历史行为和偏好,为用户提供个性化的商品或服务推荐。而在推荐系统中&#xf…

公司新来个以前拿 20K 出来的,让我见识到了什么叫真正的测试天花板....

今天上班开早会就是新人见面仪式,听说来了个很厉害的大佬,年纪还不大,是上家公司离职过来的,薪资已经达到中高等水平,很多人都好奇不已,能拿到这个薪资应该人不简单,果然,自我介绍的…

HCIE-Cloud Computing LAB备考第二步:实战解题–第五题:论述一--双活容灾设计--记忆宫殿

文章目录 题目解法记忆宫殿存储链路要求存储业务网络链路存储复制网络链路仲裁网络链路 VRM要求主机要求存储要求 对比法存储业务网络链路和存储复制网络链路VRM和主机要求 提炼法 题目 完成FC双活设计,交由工程师搭建。为达到预期效果请把以下要求罗列出来&#x…

一文带你进入自动化测试

8年前我刚进入到IT行业,现在发现学习软件测试的人越来越多,今天我想根据自己的行业经验给大家提一些建议。 最近聊到软件测试的行业内卷,越来越多的转行和大学生进入测试行业。想要获得更好的待遇和机会,不断提升自己的技能栈成了…