sklearn机器学习:多项式朴素贝叶斯MultinomialNB

本文介绍了多项式朴素贝叶斯算法,它是基于多项式分布的贝叶斯理论,常用于文本分类。MultinomialNB在sklearn中的应用包括拉普拉斯平滑和特征矩阵的处理,适用于处理离散型特征,特别是文本特征。通过实例展示了如何使用该算法,并讨论了如何通过分箱和one-hot编码提升模型性能。
摘要由CSDN通过智能技术生成

多项式朴素贝叶斯MultinomialNB

多项式贝叶斯可能是除了高斯之外,最为人所知的贝叶斯算法了。它也是基于原始的贝叶斯理论,但假设概率分布是服从一个简单多项式分布。多项式分布来源于统计学中的多项式实验,这种实验可以具体解释为:实验包括n次重复试验,每项试验都有不同的可能结果。在任何给定的试验中,特定结果发生的概率是不变的。
举个例子,比如,一个特征矩阵表示投掷硬币的结果,则得到正面的概率为P(X=正面|Y) = 0.5,反面的概率为P(X=反面|Y) = 0.5,只有这两种可能,并且两种结果互不干涉,两个随机事件的概率加和为1,这就是二项分布。这种情况下,适合于多项式朴素贝叶斯的特征矩阵应该长这样:
在这里插入图片描述
假设另一个特征X’表示投掷骰子的结果,则 i 就可以在[1,2,3,4,5,6]中取值,六种结果互不干涉,且只要样本量足够大,概率都为1/6,这就是一个多项分布。多项分布的特征矩阵应该长这样:
在这里插入图片描述
可以看出:

  1. 多项式分布擅长的是分类型变量,在其原理假设中,P(xi|Y)的概率是离散的,并且不同xi下的P(xi|Y)相互独立,互不不影响。虽然sklearn中的多项式分布也可以处理连续型变量,但现实中,
    如果我们真的想要处理连续型变量,应当使用高斯朴素贝叶斯。
  2. 多项式实验中的实验结果都很具体,它所涉及的特征往往是次数,频率,计数,出现与否这样的概念,这些概念都是离散的正整数,因此,sklearn中的多项式朴素贝叶斯不接受负值的输入

由于这样的特性,多项式朴素贝叶斯的特征矩阵经常是稀疏矩阵(不一定总是稀疏矩阵),并且它经常被用于文本分类。我们可以使用著名的TF-IDF向量技术,也可以使用常见并且简单的单词计数向量手段与贝叶斯配合使用。这两种手段都属于常见的文本特征提取的方法,可以很简单地通过sklearn来实现。
从数学的角度来看,在一种标签类别Y=c下,有一组分别对应特征的参数向量 θ c = ( θ c 1 , θ c 2 , . . . , θ c n , ) \theta_c=(\theta_{c1},\theta_{c2},...,\theta_{cn},) θc=(θc1,θc2,...,θcn,),其中n表示特征的总数。一个 θ c i \theta_{ci} θci表示这个标签类别下的第i个特征所对应的参数。这个参数被我们定义为:

θ c i = 特 征 X i 在 Y = 特 征 在 c 这 个 分 类 下 的 所 有 样 本 的 取 值 总 和 所 有 特 征 在 Y = 特 征 在 c 这 个 分 类 下 的 所 有 样 本 的 取 值 总 和 \theta_{ci}=\large\frac{特征{X_i}在Y=特征在c这个分类下的所有样本的取值总和}{所有特征在Y=特征在c这个分类下的所有样本的取值总和} θci=Y=cXiY=c

  • 27
    点赞
  • 116
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值