【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年5月8日至10日 在马来西亚槟城举办的 “2026马来西亚黄金珠宝展销会”上 深圳市盐田区...
政策底与情绪顶:5月18日-2... 文/金透社 万捷 2026年5月第三周(5月11日-15日),A股市场走出了鲜明的分化格局。上证指数...
证监会重罚欺诈发行,广发证券被... 4.63亿元。 这是2026年5月,证监会对清越科技、元道通信两家公司欺诈发行、财务造假的罚款总额。...
国内存储厂长鑫科技更新招股书:... 去年12月底披露招股书后,5月17日,国内主要的DRAM(动态随机存取存储器)厂商长鑫科技更新了招股...
保伦股份IPO募资需求存疑:三... 作者|陈安 编辑|王以沫 5月13日晚间,上交所官网正式披露广东保伦电子股份有限公司(简称:保伦股份...
原创 特... 本文仅在今日头条发布,谢绝转载。近日,外交部发言人郭嘉昆在例行记者会上所作的表态,可谓教科书级的外交...
市场开始预期美联储将于年末年初... 来源:环球市场播报 本周通胀数据接连超出预期,投资者周五大幅押注:美联储可能在年底前转向加息模式。这...
潮玩经济升温 情绪消费带火非标... 图为消费者在王府中环泡泡玛特展览处“打卡”拍照。 □ 本报记者 王琦琛 5月15日,首届中国新文创市...
7年7任CEO,华林证券秦湘因... 日前,华林证券发布了一则重要的人事变动公告。据悉,华林证券董事会近日收到秦湘的书面辞职报告。秦湘因个...
原创 周... 近日,周鸿祎的一段演讲视频在网络上引发了广泛的关注和转发。他在台上谈起自己所在的互联网行业,语气中既...
风暴将至!华尔街大佬集体预警 这周末,全球市场都在热切讨论一件事——股债双杀。 周五,全球股市陷入集体暴跌,韩国股市一度触发熔断,...
内容发到手软,询盘不见起色?A... 01 前几天,我在郑州讲单仁牛商第245届《视播时代·企业全域营销快速增长系统》课程,我们也叫系统班...
广发银行全力打造服务粤港澳大湾... 建设粤港澳大湾区是国家重大区域发展战略。随着大湾区加快迈向国际一流湾区与世界级城市群,金融作为资源配...
北京抖音代运营代运营公司 1数字内容生产链中的专业化环节 在数字营销的生态中,存在一类专门负责内容平台账号系统性管理与内容...
2026年618有哪些值得关注... 先说一个容易被忽视的事实:618期间选返利平台,和日常选平台的标准完全不同。 日常购物,你关注的是返...
原创 今... 5月16日,国内黄金价格继续往下走,多家品牌金店的足金报价已经跌到1400元附近,比前一天低了十几元...
2026年华林电力专业配电柜批... 电力设备制造领域的品质标杆:深度解读一家专业企业的成长密码 配电柜如同电力系统的"神经中枢",其...
大调仓!伯克希尔开启后巴菲特时... 根据伯克希尔-哈撒韦公司15日向美国证券交易委员会提交的持仓文件,今年第一季度,公司对投资组合进行大...
原创 特... 图 | 美国总统特朗普 美国人突然发现了一个尴尬的现实,即中国不好啃,而欧洲却更像是一块摆在桌上的肥...
索罗斯基金一季度大举调仓!建仓... 日前,索罗斯基金(Soros Fund Management)向美国证券交易委员会(SEC)提交13...