《scikit-learn》朴素贝叶斯
在scikit-learn中,优这么集中朴素贝叶斯
naive_bayes.BernoulliNB 伯努利分布下的NB
naive_bayes.GaussianNB 高斯分布下的NB
naive_bayes.MultinomialNB 多项式分布下的NB
naive_bayes.ComplementNB 补充NB
一:高斯朴素贝叶斯
通过假设P(xi | Y)是服从于高斯分布的。它会自动计算某个Y的条件下,某个特征的的均值和方差,然后代入具体值的话就是得到了具体的条件概率。它适用于连续变量。
# 高斯朴素贝叶斯
import numpy as np
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split# 第一步:加载数据
digits = load_digits()
x, y =digits.data, digits.target
print(x.shape)
print(y.shape)x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=420)
print(x_train.shape)
print(x_test.shape)
print(y_train.shape)
print(y_test.shape)# 第二步:实例化一个模型
from sklearn.naive_bayes import GaussianNBgnb = GaussianNB().fit(x_train, y_train)
print(gnb.score(x_test, y_test)) # 查看分数
print(gnb.predict(x_test)) # 对测试数据进行预测prob = gnb.predict_proba(x_test)
print(prob.shape) # 返回各个类别下的概率from sklearn.metrics import confusion_matrix as CM
print(CM(y_true=y_test, y_pred=gnb.predict(x_test)))
二:多项式朴素贝叶斯
在假设概率分布的时候是多项式分布,它擅长于分类型变量。
#多项式分布
import numpy as npX = np.random.randint(5, size=(6, 100))
y = np.array([1, 2, 3, 4, 5, 6])from sklearn.naive_bayes import MultinomialNBclf = MultinomialNB().fit(X, y)
print(clf.predict(X[2:3]))
三:伯努利朴素贝叶斯
假设概率是2分类的,离散变量,且是二类的特征。
BernoulliNB实现了朴素贝叶斯训练和分类算法是根据多元伯努利分布的分布数据;例如,可能会有多个特征,但每一个被假定为一个二进制值(伯努利、布尔)变量。因此,这类要求的样品被表示为二进制值的特征向量;如果交给其他任何类型的数据,一个bernoullinb实例可以进行输入(取决于二值化参数)
#伯努利分布
import numpy as np X = np.random.randint(2, size=(6, 100))
Y = np.array([1, 2, 3, 4, 4, 5]) from sklearn.naive_bayes import BernoulliNB
clf = BernoulliNB()
clf.fit(X, Y)
BernoulliNB(alpha=1.0, binarize=0.0, class_prior=None, fit_prior=True)
print(clf.predict(X[2:3]))
《scikit-learn》朴素贝叶斯相关推荐
- python贝叶斯算法的论文_朴素贝叶斯算法从入门到Python实践
1,前言 很久不发文章,整理些干货,希望相互学习吧.进入主题,本文主要时说的为朴素贝叶斯分类算法.与逻辑回归,决策树一样,是较为广泛使用的有监督分类算法,简单且易于理解(号称十大数据挖掘算法中最简单的 ...
- 机器学习__04__朴素贝叶斯算法
文章目录 朴素贝叶斯 1.0 概述 2.0 相关原理 2.1后验概率最大化含义 2.2拉普拉斯平滑 3.0 朴素贝叶斯的三种形式和实现 3.1高斯型 3.2多项式型 3.3伯努利型 4.0 中文文本分 ...
- 一步步教你轻松学朴素贝叶斯模型算法理论篇1
一步步教你轻松学朴素贝叶斯模型理论篇1 (白宁超2018年9月3日17:51:32) 导读:朴素贝叶斯模型是机器学习常用的模型算法之一,其在文本分类方面简单易行,且取得不错的分类效果.所以很受欢迎,对 ...
- 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [6] 朴素贝叶斯实践
本篇内容为<机器学习实战>第 4 章 基于概率论的分类方法:朴素贝叶斯程序清单.所用代码为 python3. 朴素贝叶斯 优点:在数据较少的情况下仍然有效,可以处理多类别问题. 缺点:对于 ...
- ML之NB:利用NB朴素贝叶斯算法(CountVectorizer/TfidfVectorizer+去除停用词)进行分类预测、评估
ML之NB:利用NB朴素贝叶斯算法(CountVectorizer/TfidfVectorizer+去除停用词)进行分类预测.评估 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 c ...
- ML之NB:利用朴素贝叶斯NB算法(TfidfVectorizer+不去除停用词)对20类新闻文本数据集进行分类预测、评估
ML之NB:利用朴素贝叶斯NB算法(TfidfVectorizer+不去除停用词)对20类新闻文本数据集进行分类预测.评估 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 class ...
- ML之NB:利用朴素贝叶斯NB算法(CountVectorizer+不去除停用词)对fetch_20newsgroups数据集(20类新闻文本)进行分类预测、评估
ML之NB:利用朴素贝叶斯NB算法(CountVectorizer+不去除停用词)对fetch_20newsgroups数据集(20类新闻文本)进行分类预测.评估 目录 输出结果 设计思路 核心代码 ...
- 朴素贝叶斯 半朴素贝叶斯_使用朴素贝叶斯和N-Gram的Twitter情绪分析
朴素贝叶斯 半朴素贝叶斯 In this article, we'll show you how to classify a tweet into either positive or negativ ...
- NB朴素贝叶斯理论推导与三种常见模型
转自:http://www.tuicool.com/articles/zEJzIbR 朴素贝叶斯(Naive Bayes)是一种简单的分类算法,它的经典应用案例为人所熟知:文本分类(如垃圾邮件过滤). ...
- 先马后看!详解线性回归、朴素贝叶斯、随机森林在R和Python中的实现应用!(附代码)...
来源| analyticsvidhya 编译| 火火酱,责编| Carol 出品 | AI科技大本营(ID:rgznai100) 谷歌的自动驾驶汽车和机器人得到了媒体的广泛关注,但是公司真正的未来是在 ...
最新文章
- 「走过」微软、优步,老工程师告诉你哪些数据结构和算法最重要
- 1 Knight Moves
- Spring.NET的AOP怎么玩
- crackme之018
- 记录安装mysql5.7.24遇到的坑
- 用正则实现多行文本合并,从而保存为csv文件
- IP过滤-驱动和应用程序通信
- 《天天数学》连载00:序言
- spring_restful_json_jdbc
- 选下拉框的的值对应上传相应的图片_vue.js如何拿到多种类型表单值提交到后台,包含上传图片、单选、复选、文本框、下拉列表框...
- mysql之jdbc连接数据库和sql注入的问题
- 接下来会普及流行能实现《集中授权集中管理,分级授权逐级管理》的标准化权限系统...
- vue变量赋值到html,jsvue data变量相互赋值后被实时同步的解决步骤js大全-js开发...
- C# 第五章『面向对象』◆第9节:抽象类和密封类
- 初级商业数字营销师直通车题库
- u盘量产linux pe,WinPE U盘量产ISO
- 百度地图定位经纬度返回4.9E-324有关问题
- Python 源码学习:类型和对象
- usermode linux网络空间,(RHCE笔记)linux基础之三 用户、组及权限
- BurpSuite实战十九之XSS检测实战