Sklearn参数详解—贝叶斯

总第109篇

前言

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

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

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

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

正太分布概率图

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

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

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

高斯朴素贝叶斯

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

class sklearn.naive_bayes.GaussianNB(priors=None)

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

对象

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

多项式分布贝叶斯

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

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) 变量。

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)的得分情况。

原文发布于微信公众号 - 张俊红(zhangjunhong0428)

原文发表时间:2018-06-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏YG小书屋

深度学习之Logistic Regression

2066
来自专栏深度学习之tensorflow实战篇

python KS-检验(Kolmogorov-Smirnov test) -- 检验数据是否符合某种分布

python 检验数据分布,KS-检验(Kolmogorov-Smirnov test) – 检验数据是否符合某种分布 Kolmogorov-Smirnov...

9936
来自专栏真皮专栏

EM Algorithm

EM算法和之前学的都不太一样,EM算法更多的是一种思想,所以后面用几个例子讲解,同时也会重点讲解GMM高斯混合模型。

1394
来自专栏数据科学与人工智能

【知识】正则化与过拟合

小编邀请您,先思考: 过拟合怎么理解?如何解决? 正则化怎么理解?如何使用? 在机器学习中有时候会出现过拟合,为了解决过拟合问题,通常有两种办法,第一是减少样本...

2398
来自专栏机器学习算法与Python学习

机器学习(18)之支持向量机原理(三)线性不可分支持向量机与核函数

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 前言 在(机器学习(15)之支持向量...

3547
来自专栏MelonTeam专栏

机器学习入门系列04,Gradient Descent(梯度下降法)

引用课程:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html 先看这里,可能由于你正在查看这个平...

1988
来自专栏决胜机器学习

机器学习(十六) ——SVM理论基础

机器学习(十六)——SVM理论基础 (原创内容,转载请注明来源,谢谢) 一、概述 支持向量机(supportvector machine,SVM),是一种分类...

3527
来自专栏机器学习算法与Python学习

机器学习(13)之最大熵模型详解

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 前言 最大熵模型(maximum ...

3497
来自专栏决胜机器学习

机器学习(八) ——过拟合与正则化

机器学习(八)——过拟合与正则化 (原创内容,转载请注明来源,谢谢) 一、过拟合和欠拟合 1、概念 当针对样本集和特征值,进行预测的时候,推导θ、梯度下降等...

3355
来自专栏郭耀华‘s Blog

【深度学习】一文读懂机器学习常用损失函数(Loss Function)

  损失函数(loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函...

2662

扫码关注云+社区