【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])

相关内容

热门资讯

市占率全球第一,钨矿大寡头,大... 厦门钨业,收购大动作! 2月9日,厦门钨业发布公告称,公司拟收购尚达信持有的九江大地39%股权,并支...
高人预测:2026年,楼市或许... 过年聚会,亲戚聊天三句不离房子。有人问:今年到底能不能买?有人说: 再等等,说不定还要跌。嘴上说着“...
谁在真金白银增持睿远基金? 来源:21世纪经济报道 21世纪经济报道记者 杨娜娜 2月10日,睿远基金发布关于增加注册资本的公...
百望股份创始人、董事长、CEO... 记者 郑晨烨 2025年,整个市场对人工智能的态度经历了一次过山车。 大家从最初的狂热中冷静下来,发...
放弃H股、加码A股定增:紫光股... 马年春节前夕,国内算力龙头企业紫光股份(000938)资本动作频密。 2月11日晚间,紫光股份密集发...
2025年中国干电池出口现状分... 转自:前瞻产业研究院 以下数据及分析来自于前瞻产业研究院干电池研究小组发布的《中国干电池制造行业产销...
英国选定汇丰银行作为数字债券试... 来源:环球市场播报 汇丰银行周四宣布,英国已选定该行的区块链平台,用于开展该国代币化数字政府债券的试...
国际零售巨头山姆再次落户广州,... 2月11日 广州开发区控股集团 (以下简称“广开控股”) 与沃尔玛(中国)投资有限公司 正式签署合作...
字节Seedance 2.0正... 智东西 作者 | 李水青 编辑 | 心缘 智东西2月12日报道,千呼万唤始出来,今天午间,字节跳动终...
以有效投资为高质量发展提供坚实... 有效投资是深化供给侧结构性改革和扩大有效需求的有机结合点。2025年,受多重因素交织影响,固定资产投...
2家A股公司同日公告:重大资产... 每经编辑|张锦河 2月12日,中南文化(002445,股价2.78元,市值66.07亿元)公告,公...
原创 3... 当地时间2月11日晚至12日凌晨,一场大规模空袭席卷乌克兰多地。乌克兰总统泽连斯基在社交媒体上证实,...
完善全国统一电力市场,对你我有... 近日,国务院办公厅印发了《关于完善全国统一电力市场体系的实施意见》,明确到2035年全面建成全国统一...
10000亿元!央行明日将开展... 中国人民银行(下称“央行”)2月12日发布公告称,将在13日以固定数量、利率招标、多重价位中标方式开...
君乐宝正式启动港股上市进程,全... 2026年1月19日,港交所文件披露,君乐宝乳业集团股份有限公司正式向香港联交所主板提交上市申请。根...
个股异动 | 首都在线涨逾12... 2月12日上午,首都在线震荡上涨,截至10时46分,该股上涨12.30%,股价报31.59元。2月1...
人文经济激活消费新动能丨重庆美... 新华社重庆2月12日电晨雾还未散尽,重庆市大渡口区九宫庙街道的老火锅店内,炒料师傅梁文仁系上围裙,挥...
理奇智能并购暴增超1亿元利润,... 来源|时代商业研究院 作者|雷小艳 编辑|郑琳 一次合并报表,动辄能影响上亿元的利润,无锡理奇智能装...
张曼正式担任长沙银行董事长 长沙银行2月12日发布公告称,该行收到《湖南金融监管局关于张曼长沙银行股份有限公司董事长任职资格的批...
用时4个月闯完所有审批!岚图赴... 来源:国际金融报 2月12日,岚图汽车(下称“岚图”)官方披露,其港股上市申请已获得香港联合交易所原...