前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Sklearn参数详解—贝叶斯

Sklearn参数详解—贝叶斯

作者头像
张俊红
发布2018-06-11 10:29:54
6.6K0
发布2018-06-11 10:29:54
举报
文章被收录于专栏:张俊红张俊红

总第109篇

前言

在开始学习具体的贝叶斯参数前,你可以先看看:朴素贝叶斯详解

朴素贝叶斯一共有三种方法,分别是高斯朴素贝叶斯、多项式分布贝叶斯、伯努利朴素贝叶斯,在介绍不同方法的具体参数前,我们先看看这三种方法有什么区别。

这三种分类方法其实就是对应三种不同的数据分布类型。

高斯分布又叫正太分布,我们把一个随机变量X服从数学期望为μ、方差为σ^2的数据分布称为正太分布,当数学期望μ=0,方差σ=1时称为标准正态分布。

正太分布概率图

伯努利分布又称“零一分布”、“两点分布”(即结果要么是0要么是1),是二项分布的特殊情况,之所以是特殊的二项分布,是因为二项分布是多重伯努利实验的概率分布。举个例子就是,伯努利分布是只扔一次硬币正面反面的概率,而二项分布是扔多次硬币以后得到正面反面的概率。

多项式分布(Multinomial Distribution)是二项式分布的推广,二项分布是随机结果值只有两个(投硬币的结果),多项式分布是指随机结果值有多个(摇骰子的结果)。

多项式模型朴素贝叶斯和伯努利模型朴素贝叶斯常用在文本分类问题中,高斯分布的朴素贝叶斯主要用于连续变量中,且假设连续变量是服从正太分布的

高斯朴素贝叶斯

高斯朴素贝叶斯算法是假设特征的可能性(即概率)为高斯分布。

代码语言:javascript
复制
class sklearn.naive_bayes.GaussianNB(priors=None)

priors:先验概率大小,如果没有给定,模型则根据样本数据自己计算(利用极大似然法)。

对象

class_prior_:每个样本的概率 class_count:每个类别的样本数量 theta_:每个类别中每个特征的均值 sigma_:每个类别中每个特征的方差

多项式分布贝叶斯

适用于服从多项分布的特征数据。

代码语言:javascript
复制
class sklearn.naive_bayes.MultinomialNB(alpha=1.0, fit_prior=True, class_prior=None)

alpha:先验平滑因子,默认等于1,当等于1时表示拉普拉斯平滑。 fit_prior:是否去学习类的先验概率,默认是True class_prior:各个类别的先验概率,如果没有指定,则模型会根据数据自动学习, 每个类别的先验概率相同,等于类标记总个数N分之一。

对象

class_log_prior_:每个类别平滑后的先验概率 intercept_:是朴素贝叶斯对应的线性模型,其值和class_log_prior_相同 feature_log_prob_:给定特征类别的对数概率(条件概率)。 特征的条件概率=(指定类下指定特征出现的次数+alpha)/(指定类下所有特征出现次数之和+类的可能取值个数*alpha) coef_: 是朴素贝叶斯对应的线性模型,其值和feature_log_prob相同 class_count_: 训练样本中各类别对应的样本数 feature_count_: 每个类别中各个特征出现的次数

伯努利朴素贝叶斯

用于多重伯努利分布的数据,即有多个特征,但每个特征都假设是一个二元 (Bernoulli, boolean) 变量。

代码语言:javascript
复制
class sklearn.naive_bayes.BernoulliNB(alpha=1.0, binarize=0.0, fit_prior=True, class_prior=None)

alpha:平滑因子,与多项式中的alpha一致。 binarize:样本特征二值化的阈值,默认是0。如果不输入,则模型会认为所有特征都已经是二值化形式了;如果输入具体的值,则模型会把大于该值的部分归为一类,小于的归为另一类。 fit_prior:是否去学习类的先验概率,默认是True class_prior:各个类别的先验概率,如果没有指定,则模型会根据数据自动学习, 每个类别的先验概率相同,等于类标记总个数N分之一。

对象

class_log_prior_:每个类别平滑后的先验对数概率。 feature_log_prob_:给定特征类别的经验对数概率。 class_count_:拟合过程中每个样本的数量。 feature_count_:拟合过程中每个特征的数量。

方法

贝叶斯的方法和其他模型的方法一致。 fit(X,Y):在数据集(X,Y)上拟合模型。 get_params():获取模型参数。 predict(X):对数据集X进行预测。 predict_log_proba(X):对数据集X预测,得到每个类别的概率对数值。 predict_proba(X):对数据集X预测,得到每个类别的概率。 score(X,Y):得到模型在数据集(X,Y)的得分情况。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 俊红的数据分析之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 高斯朴素贝叶斯
    • 对象
    • 多项式分布贝叶斯
      • 对象
      • 伯努利朴素贝叶斯
        • 对象
        • 方法
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档