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

你还可以看:

Sklearn参数详解—LR模型

Sklearn参数详解--决策树

Sklearn参数详解—SVM

Sklearn参数详解—贝叶斯相关推荐

  1. 基于sklearn的朴素贝叶斯_Sklearn参数详解—贝叶斯

    在开始学习具体的贝叶斯参数前,你可以先看看:朴素贝叶斯详解​mp.weixin.qq.com 朴素贝叶斯一共有三种方法,分别是高斯朴素贝叶斯.多项式分布贝叶斯.伯努利朴素贝叶斯,在介绍不同方法的具体参 ...

  2. Sklearn参数详解—GBDT

    总第113篇 前言 这篇介绍Boosting的第二个模型GBDT,GBDT和Adaboost都是Boosting模型的一种,但是略有不同,主要有以下两点不同: GBDT使用的基模型是CART决策树,且 ...

  3. Sklearn参数详解—Adaboost

    总第112篇 前言 今天这篇讲讲集成学习,集成学习就是将多个弱学习器集合成一个强学习器,你可以理解成现在有好多道判断题(判断对错即01),如果让学霸去做这些题,可能没啥问题,几乎全部都能做对,但是现实 ...

  4. Lesson 8.3Lesson 8.4 ID3、C4.5决策树的建模流程CART回归树的建模流程与sklearn参数详解

    Lesson 8.3 ID3.C4.5决策树的建模流程 ID3和C4.5作为的经典决策树算法,尽管无法通过sklearn来进行建模,但其基本原理仍然值得讨论与学习.接下来我们详细介绍关于ID3和C4. ...

  5. Sklearn参数详解—聚类算法

    总第115篇 前言 聚类是一种非监督学习,是将一份给定数据集划分成k类,这一份数据集可能是某公司的一批用户,也可能是某媒体网站的一系列文章,如果是某公司的一批用户,那么k-means做的就是根据用户的 ...

  6. SKlearn参数详解—随机森林

    总第114篇 前言 随机森林(RandomForest,简称RF)是集成学习bagging的一种代表模型,随机森林模型正如他表面意思,是由若干颗树随机组成一片森林,这里的树就是决策树. 在GBDT篇我 ...

  7. Sklearn参数详解—SVM

    总第108篇 本篇主要讲讲Sklearn中SVM,SVM主要有LinearSVC.NuSVC和SVC三种方法,我们将具体介绍这三种分类方法都有哪些参数值以及不同参数值的含义. 在开始看本篇前你可以看看 ...

  8. 详解贝叶斯(一):贝叶斯概率

    详解贝叶斯(一):贝叶斯概率 原文转载自:码海拾遗 - 详解贝叶斯(一):贝叶斯概率 什么是贝叶斯概率 要解释什么是贝叶斯概率,不如先回顾一下经典的概率,中学课本里我们把概率定义为事件发生的可能性,认 ...

  9. Sklearn参数详解—LR模型

    总第105篇 最近会开始一个新的系列,sklearn库中各模型的参数解释,本篇主要讲述最基础的LR模型. 模型参数详解 逻辑回归: sklearn.linear_model.LogisticRegre ...

最新文章

  1. C++ ——统一初始化
  2. 使用WINAPI获得磁盘空间信息
  3. 钉钉、阿里云和PaaS平台的整合开发
  4. 打造LINUX系统安全(早期学习笔记)
  5. SAP Analytics Cloud里避免类型为个数的measure出现小数点
  6. Android之解决AppBarLayout 下面一道阴影
  7. 75. 颜色分类 golang
  8. 心生想往 ... ...
  9. golang mysql 自动建表_mysql表结构自动生成golang struct
  10. 11月1日上午PHP批量删除
  11. 一个长方体玻璃容器从里面量长宽_葡萄干这样吃,功效翻倍,含铁量是葡萄的15倍!葡萄干的功效和作用...
  12. POJ 1201 Intervals
  13. 62.不同的路径(力扣leetcode) 博主可答疑该问题
  14. 戴尔为啥找不到修复计算机,重装系统后戴尔电脑找不到引导设备怎么办
  15. HC-SR04超声波模块测距原理与原理图
  16. 解决开发板不兼容earpods问题
  17. Linux笔记之Debian 11(bullseye) 配置国内源
  18. 换发型特效怎么制作?这些方法值得收藏
  19. 如何让你画里的鱼,游进海里?
  20. LTE下行用户特定参考信号

热门文章

  1. php添加上传附件,phpweb招聘模块job上传简历附件的修改办法
  2. find命令的xargs参数的使用---Linux学习笔记
  3. C#Redis哈希Hashes
  4. 数据驱动业务——梦想成真,只差一步
  5. 【算法学习笔记】19.算法设计初步 最大子列和问题的几种方法
  6. 记一个网络传输功能的实现过程
  7. Linux压缩打包命令
  8. 【转载】各版本IIS下ASP.net请求处理过程(3)
  9. Visual Studio 2010中C++项目升级指南
  10. Vue简单封装axios—解决post请求后端接收不到参数问题