【Python】sklearn之朴素贝叶斯
admin
2024-05-10 08:27:28
0

文章目录

    • 简介
    • CategoricalNB
    • 测试

简介

贝叶斯公式是条件概率中最经典的公式,表示为

P(y∣x1,⋯,xn)=P(y)P(x1,⋯,xn∣y)P(x1,⋯,xn)P(y|x_1,\cdots,x_n)=\frac{P(y)P(x_1,\cdots,x_n|y)}{P(x_1,\cdots,x_n)} P(y∣x1​,⋯,xn​)=P(x1​,⋯,xn​)P(y)P(x1​,⋯,xn​∣y)​

P(x∣y)P(x|y)P(x∣y)表示在yyy已经发生的情况下xxx发生的概率。

这个公式非常适合分类,假定某物有x1,⋯,xnx_1,\cdots,x_nx1​,⋯,xn​个特征,每个特征都有不同的表现,记作xnjx_n^jxnj​。现有的MMM个样本,总共分为YYY类,记某一类为yky_kyk​。

那么现在又来了一个新成员,这个新成员的特征是x1∗,⋯,xn∗x^*_1,\cdots,x^*_nx1∗​,⋯,xn∗​,如果每个特征之间是互不相关的,则

P(x1∗,⋯,xn∗)=P(x1∗)P(x2∗)⋯P(xn∗)P(x^*_1,\cdots,x^*_n)=P(x^*_1)P(x^*_2)\cdots P(x^*_n)P(x1∗​,⋯,xn∗​)=P(x1∗​)P(x2∗​)⋯P(xn∗​)

且P(xi∗)P(x^*_i)P(xi∗​)就是样本中xi∗x^*_ixi∗​出现的次数除以样本数。

相应地P(x1∗,⋯,xn∗∣yk)=P(x1∗∣yk)⋯P(xn∗∣yk)P(x_1^*,\cdots,x_n^*|y_k)=P(x_1^*|y_k)\cdots P(x_n^*|y_k)P(x1∗​,⋯,xn∗​∣yk​)=P(x1∗​∣yk​)⋯P(xn∗​∣yk​),其中P(xn∗∣yk)P(x_n^*|y_k)P(xn∗​∣yk​)表示在yky_kyk​类中,xn∗x_n^*xn∗​这个特征所占的比例。

这样一来,对于这个新样本来说,其属于第yky_kyk​类的概率就是

P(yk∣x1∗,⋯,xn∗)=P(yk)P(x1∗∣yk)⋯P(xn∗∣yk)P(x1∗)⋯P(xn∗)P(y_k|x^*_1,\cdots,x^*_n)=\frac{P(y_k)P(x^*_1|y_k)\cdots P(x^*_n|y_k)}{P(x^*_1)\cdots P(x^*_n)} P(yk​∣x1∗​,⋯,xn∗​)=P(x1∗​)⋯P(xn∗​)P(yk​)P(x1∗​∣yk​)⋯P(xn∗​∣yk​)​

CategoricalNB

sklearn中提供了naive_bayes模块,其中的CategoricalNB是基于现有数据集特征的朴素贝叶斯分类器,其构造函数为

CategoricalNB(alpha=1.0, fit_prior=True, class_prior=None, min_categories=None)

其个参数含义为

  • alpha 为平滑参数,设为0时表示不平滑
  • fit_priorTrue时,学习先验概率
  • class_prior fit_priorTrue时学习的先验概率
  • min_categories 每个特征的最小分类数

测试

接下来验证一下这个类,简单起见,考虑到现在考研比较内卷,那么假设用三个指标评价是否录取,即本科是否为985;考研分数A(前10%),B(10%-30%),C(30%-60%),D(后40%)四档;本科发文章A(Nature级别), B(SCI),C(其他期刊),D(无期刊),假设有下面的一份以往录取表

985分数文章录取
133
123
132
122
112
111
111
101
100
101
100
100
100
032
031
031
030
030
030
022
021
021
020
020
020
012
012
011
011
010
000
000
000

将其写为代码的形式为

X = [
[1,3,3],[1,2,3],[1,3,2],[1,2,2],
[1,1,2],[1,1,1],[1,1,1],[1,0,1],
[1,0,0],[1,0,1],[1,0,0],[1,0,0],
[1,0,0],[0,3,2],[0,3,1],[0,3,1],
[0,3,0],[0,3,0],[0,3,0],[0,2,2],
[0,2,1],[0,2,1],[0,2,0],[0,2,0],
[0,2,0],[0,1,2],[0,1,2],[0,1,1],
[0,1,1],[0,1,0],[0,0,0],[0,0,0],
[0,0,0]]y = [ 1,1,1,1,1,1,1,1,1,1,0,1,0,1,
1,1,1,1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0]import numpy as np
rng = np.random.RandomState(1)
from sklearn.naive_bayes import CategoricalNB
clf = CategoricalNB()   # 创建朴素贝叶斯类
clf.fit(X, y)           # 载入数据

接下来,如果你是985的学生,同时考研成绩大概排在50%,但本科并没有发过什么文章,那么我猜你考研一定能被录取

>>> clf.predict([[1,1,0]])
array([1])

相关内容

热门资讯

2026麻涌镇企业短视频制作:... 麻涌镇企业短视频制作是以本地制造业与服务业诉求的内容生产与平台运营服务,2026年,这一行业的竞争核...
4nm近售罄、部分8nm接近满... 《科创板日报》7月4日讯据朝鲜日报报道,业内人士称,随着AI半导体需求升温、全球大型科技公司订单增加...
新思考电机冲刺港股:4个月营收... 雷递网 雷建平 7月5日 新思考电机日前更新招股书,准备在港交所上市。 新思考电机最近一次融资是2...
端午只吃粽子就够了吗?上海歧黄... 端午一到,粽叶香、艾草香、咸鸭蛋和家常菜的味道,就把节日气氛拉满了。很多人一提到端午饮食,第一反应就...
整顿AAA评级 记者 蔡越坤 2026年6月以来,在国内某头部评级机构工作的周宇感到压力骤增。 随着6月30日、7月...
原创 必... 很多人一看到“必胜客被卖了”,第一反应就是:这牌子是不是不行了? 可现实偏偏很拧巴。 一边是美国那边...
原创 美... 无视美国制裁,采购伊朗石油,这样的“硬骨头”,放眼世界也只有一个。 为了继续施压伊朗,美国可以说是什...
布米普特拉北京投资基金管理有限... 美国私营部门就业市场在六月份释放出温和降温的信号。根据薪资服务商ADP最新发布的报告,当月企业新增就...
原创 女... 去年底一次聚餐,桌上放着几支口红、一瓶香水,还有一个印着大牌标识的小盒子。有人随手拿起来说,这是代购...
原创 蚂... “灵活用工第一股”来了! 作者|刘俊群 编辑|刘钦文 你在奶茶店、餐厅、商超、酒店里遇到的兼职店员,...
原创 还... 中国与美国这两个大国的任何一个细微动作,似乎都会牵动全球金融市场的神经,引发一连串连锁反应。本就还剩...
从“固定区间”到“动态指数”,... 银行理财产品业绩基准展示方式正迎来新变化。7月5日,北京商报记者梳理发现,包括中邮理财、民生理财、华...
兰格钢铁杭州建材周报(七月第一... 来源:兰格钢铁网 兰格钢铁杭州建材周报(七月第一周) 本周(6.29-7.3)杭州建筑钢材市场现货...
全球存储巨头,拟涨价20% 来源:上海证券报 7月3日,据韩媒ZDNET Korea报道,三星电子正在与客户展开第三季度通用DR...
近视、远视、斜视、弱视,同样是... 听说孩子看不清黑板,很多家长第一反应就是“近视了”,于是直接带去眼镜店配副眼镜应付。但很多朋友不知道...
2026年苏州电商建站开发可靠... 在数字经济持续渗透的今天,一个功能强大、体验流畅、安全稳定的电商网站,已成为企业开拓线上市场、构建品...
券商周线4连阳,这次是真反转?... 来源:新浪基金 7月3日,券商板块窄幅震荡,规模400亿元的顶流券商ETF华宝(512000)场内价...
央行将加量续做3个月期买断式逆... 本报记者 刘琪 7月3日,中国人民银行发布公告称,为保持银行体系流动性充裕,2026年7月6日,将以...
原创 《... 猪有什么错? 作者 | 方璐 编辑丨于婞 来源 | 野马财经 一篇牧原股份(002714.SZ)14...
中国空调在欧洲卖爆了:边筑墙边... 近期,高温席卷欧洲多国,受限于环保政策、高电价、对古老建筑保护、高温天气少等种种考虑,使得在欧洲安装...