小工具      在线工具  汉语词典  dos游戏  css  js  c++  java

朴素贝叶斯决策

贝叶斯决策理论是概率框架下的一种分类方法。当相关概率已知时,贝叶斯决策理论考虑如何利用这些概率和误判损失经济地选择最有标记的。

贝叶斯的主要知识是概率论,包括先验概率,条件概率,全概率(联合概率),后验概率,贝叶斯公式等;如对对上的一个行人的职业判断,行人有背包,发型,衣着,面容等四个特征,判断职业有学生,职场员工。用贝叶斯策略若在四个特征下是学生的概率大于是职场员工概率就是学生否则相反。核心是计算后验概率

条件概率:在某个限定条件下事件发生的概率。
p ( B ∣ A ) = p ( A B ) p ( A ) p(B|A)=\frac{p(AB)}{p(A)}pA=pApA

全概率在事件已经发生的结果下,不同条件下出现该结果的所有概率总和

p ( A ) = Σ i = 1 N p ( Bi ) ∗ p ( A ∣ B i ) p(A)=\sum_{i=1}^{N}{p(Bi)*p(A|Bi) )}pA==1Σp*pA
先验概率:以往经验得到的概率,如一枚银币抛出落下后出现正面的概率为1/2。
后验概率:根据样本特征分析得到的概率。p(某类别|某特征)即贝叶斯原理。
贝叶斯公式
p ( B ∣ A ) = p ( A ∣ B ) * P ( B ) p ( A ) p(B|A)=\frac{p(A|B)*P(B)}{p(A)}pA=pApA*
p(类别∣特征)=p(特征∣类别)*P(类别)p(特征)p(类别|特征)=\frac{p(特征|类别)*P(类别)}{p(特征)}p种类特别的征收=p特别的征收p特别的征收种类*种类

基于西瓜数据集分析贝叶斯算法:
在这里插入图片描述
在这里插入图片描述
判断测1是好瓜还是坏瓜。计算后验概率时朴素贝叶斯使用了独立性假设,各个特征之间独立,即可使用概率公式计算。

在这里插入图片描述
由贝叶斯公式求后验概率p(好瓜|色泽),要知道 先验概率p(好瓜)和条件概率p(色泽|好瓜)/p(色泽)
在这里插入图片描述
得到后验概率;
在这里插入图片描述
由于好瓜概率大于坏瓜概率,故为好瓜。

实现方法:
1.GaussianNB适用特征为高斯分布的连续量,特征数据符合高斯正态分布。
2.MultinomialNB适用特征为2个以上离散量,特征数据符合多项式分布。
3.BernoulliNB适用特征只有2个状态,特征数据符合伯努利分布。

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

from sklearn.naive_bayes import GaussianNB
from sklearn.naive_bayes import MultinomialNB
from sklearn.naive_bayes import BernoulliNB

iris=load_iris()
x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.4)

#高斯分布贝叶斯
def function1():
    model=GaussianNB().fit(x_train,y_train)
    score=model.score(x_test,y_test)
    return score

#多项式分布贝叶斯
def function2():
    model=MultinomialNB().fit(x_train,y_train)
    score=model.score(x_test,y_test)
    return score

#伯努利分布贝叶斯
def function3():
    model=BernoulliNB().fit(x_train,y_train)
    score=model.score(x_test,y_test)
    return score

print(function1())
print(function2())
print(function3())

结果:
0.95
0.8833333333333333
0.3
. . .

相关推荐

额外说明

【Python入门教程】第51章 不相交集

本篇我们介绍不相交集合的概念,以及如何使 isdisjoint() 方法判断两个集合是否不相交。 不相交集 如果两个集合没有任何共同的元素,它们就是不相交集(disjoint set)。也就是说,两个不相交的集合的交集为空集。 例如,集合 {1,3,5}

额外说明

插入、删除和获取随机元素的时间为 O(1)(Java 实现)

设计一个支持在平均 时间复杂度 O(1) 下, 执行以下操作的数据结构。 注意: 允许出现重复元素。 insert(val):向集合中插入元素 val。 remove(val):当 val 存在时,从集合中移除一个 val。 getRandom:从现有集

额外说明

【1++的Linux】之线程(一)

-作者主页:进击的1++ - 专栏链接:【1++的Linux】 文章目录 一,Linux线程概念 二,线程的优缺点 进程和线程类比现实 三, 线程的操作 线程的私有资源 && 线程的创建 线程的等待 线程终止 线程分离 四,如何理解线程id 一,Linu

额外说明

liunx命令 如下快速下载文件或者日志

liunx命令 如下快速下载文件或者日志 有时候我们因为各种的原因没有办法直接从liunx中拿到想到文件或者日志就像我:xftp 被禁止使用了 只能找命令下载; 下面直接上命令: sz redis.log 下面之后直接打开即可: rz //上传文件 r

额外说明

vue使用ElementUI

1.安装 npm i element-ui -S   2.引入 2.1完整引入 import Vue from 'vue'; import ElementUI from 'element-ui'; import 'element-ui/lib/theme

额外说明

go 包循环引用 (import cycle not allowed)

前言 在项目中,我们或多或少都会遇到go的包循环引用的问题,类似这样 这就让人很头疼,为什么在其他语言中都没见过这种错误呢?这我们就得来谈谈go的设计理念了。 go 为什么不允许循环引用 曾经有人提议Go语言作者Rob Pike,想要在Go以后的版本去掉

额外说明

Consul 集群部署

Consul 简介 Consul是HashiCorp公司推出的开源软件,基于 GO 语言编写,提供服务注册和发现、配置、多数据中心的高可用方案等能力,分布式一致方面采用 raft 算法实现,并且很容易和 Spring Cloud 等微服务框架集成,使用起

额外说明

简易GIt-----SFile 10秒上手

SFile 10秒上手 sfile简介 添加文件 (第一次添加文件为根文件,后续该文件所有增删改都会应用于根文件) sfile add fileonename filetwoname filethreename ... 拉取filesystem 中的f

额外说明

Excel取消单元格自动添加超链接

在Excel的单元格中输入一个网址后, Excel会自动转换为超链接, 之后点击单元格的就会在浏览器中打开对应的网址, 如下图示: 如何取消超链接呢? 答案是: 右键单击单元格,在弹出的菜单中选择 “取消超链接”。 上面的操作之后, 超链接没有了, 但是

额外说明

二、Gin路由

二、Gin路由 2.1、路由方法 路由系统支持任意方式的请求,如下的的方法用来提供对应的接受请求: func (group *RouterGroup) DELETE(relativePath string, handlers ...HandlerFunc

ads via 小工具