从零开始的机器学习8-贝叶斯分类器

朴素贝叶斯分类器:轻量、可解释、实时推理的机器学习基石 朴素贝叶斯分类器(Naive Bayes Classifier)是一种基于贝叶斯定理与特征条件独立假设的概率模型,其核心原理简洁而鲁棒——通过先验概率与似然估计计算后验概率,实现高效分类。作为典型的probabilistic model,它不依赖复杂结构,却在text classification、垃圾邮件过滤、边缘设备实时推理等场景中展现出极强的工程适应性。尤其在数据稀疏、资源受限或需模型可解释性的任务中,它以极低计算开销支撑real-time inference,成为快速构建baseline、冷启动验证 阅读详情

智能控制与优化决策课题组制作。
对应周志华《机器学习》第七章内容。

一些问题

1、解释先验概率、后验概率、全概率公式、条件概率公式,结合实例说明贝叶斯公式,如何理解贝叶斯定理?
① 先验概率:
在贝叶斯分类中,先验概率指训练数据中某种 条件(原因) c c c的初始概率,通常依据先验知识获取,记为 P ( c ) P(c) P(c)。

② 后验概率:
后验概率指在已知某种 现象(结果) x x x的情况下,推测其原因为 c c c的概率,记为 P ( c ∣ x ) P(c|x) P(c∣x)。

③ 全概率:
x x x为一个现象(结果); c 1 , c 2 , ⋯   , c i , ⋯   , c n c_1,c_2,\cdots,c_i,\cdots,c_n c1​,c2​,⋯,ci​,⋯,cn​为一个事件组,满足 ⋃ i = 1 n c i = Ω \bigcup\limits^n_{i=1}c_i=\Omega i=1⋃n​ci​=Ω,且其中事件两两互斥,即任取 c i ∩ c j = ∅ c_i\cap c_j=\varnothing ci​∩cj​=∅,其中 Ω \Omega Ω为整个样本空间。
则有:
P ( x ) = ∑ i = 1 n P ( c i ) P ( x ∣ c i ) . P(x)=\sum_{i=1}^nP(c_i)P(x|c_i). P(x)=i=1∑n​P(ci​)P(x∣ci​).
④ 条件概率:
即在出现某种条件 c c c的情况下,发生事件(结果) x x x的概率,记为 P ( x ∣ c ) P(x|c) P(x∣c)。

⑤ 贝叶斯公式:
用于已知发生某事件(结果) x x x的情况下,推测其产生的原因为 c i ∈ C c_i\in\bm C ci​∈C的概率, C \bm C C为所有原因的集合。则有:
P ( c i ∣ x ) = P ( c i ) P ( x ∣ c i ) ∑ j = 1 n P ( c i ) P ( x ∣ c j ) P(c_i|x)=\frac{P(c_i)P(x|c_i)}{\sum_{j=1}^nP(c_i)P(x|c_j)} P(ci​∣x)=∑j=1n​P(ci​)P(x∣cj​)P(ci​)P(x∣ci​)​
2、结合实例说明朴素贝叶斯分类器是如何对测试样本进行分类的?并归纳总结算法步骤。
① 统计先验概率
一种方法为,通过统计给定训练集中的样本中各个条件(原因)出现的概率作为先验概率。在分类问题中,可以认为各种不同的类别为 原因,记作 c i ∈ C c_i\in\bm{C} ci​∈C,其产生的不同表现——样本的属性值 x i = { x i , 1 , x i , 2 , ⋯   , x i , m } \bm{x_i}=\{x_{i,1},x_{i,2},\cdots,x_{i,m}\} xi​={xi,1​,xi,2​,⋯,xi,m​}为现象( 结果)。

② 统计每个特征的条件概率
对于一个样本,它有很多不同的属性值,也就是有多种表现,记为 x i = { x i , 1 , x i , 2 , ⋯   , x i , m } \bm{x_i}=\{x_{i,1},x_{i,2},\cdots,x_{i,m}\} xi​={xi,1​,xi,2​,⋯,xi,m​}。
我们需要统计不同表现在不同原因下出现的概率 P ( x i , j ∣ c k ) P(x_{i,j}|c_k) P(xi,j​∣ck​)。

③ 计算后验概率
我们的目标是分类,即在已知结果的情况下,推测其最可能的原因。故,我们需要找到的是 max ⁡ P ( c k ∣ x i ) \max P(c_k|\bm x_i) maxP(ck​∣xi​)。
由于朴素贝叶斯假设所有属性都是相互独立的,可以根据贝叶斯公式可以计算出结果为 x i \bm x_i xi​的情况下其原因为 c k c_k ck​的概率为:
P ( c k ∣ x i ) = P ( c k ) P ( x i ∣ c k ) ∑ j = 1 l P ( c i ) P ( x i ∣ c j ) P(c_k|\bm x_i)=\frac{P(c_k)P(\bm x_i|c_k)}{\sum_{j=1}^lP(c_i)P(\bm x_i|c_j)} P(ck​∣xi​)=∑j=1l​P(ci​)P(xi​∣cj​)P(ck​)P(xi​∣ck​)​
其中 l l l为总的类别数目,而:
P ( x i ∣ c k ) = ∏ j = 1 m P ( x i , j ∣ c k ) P(\bm x_i|c_k)=\prod_{j=1}^mP(x_{i,j}|c_k) P(xi​∣ck​)=j=1∏m​P(xi,j​∣ck​)
④ 找到该结果下最可能的原因
max ⁡ P ( c k ∣ x i ) \max P(c_k|\bm x_i) maxP(ck​∣xi​)。
3、分别说明如何用极大似然估计和贝叶斯估计进行朴素贝叶斯的参数估计。
① 极大似然估计:
极大似然估计是根据数据采样来估计概率分布参数的经典方法。
给定数据集 X X X,假定其概率密度函数为 f ( ⋅ ) f(\cdot) f(⋅),以及一个分布的参数 θ \theta θ,从数据集中抽出样本 x 1 , x 2 , ⋯   , x n x_1,x_2,\cdots,x_n x1​,x2​,⋯,xn​,那么通过参数 θ \theta θ的模型 f ( ⋅ ) f(\cdot) f(⋅)产生上面样本的概率为:
f ( x 1 , x 2 , ⋯   , x n ∣ θ ) = f ( x 1 ∣ θ ) × f ( x 2 ∣ θ ) × ⋯ × f ( x n ∣ θ ) f(x_1,x_2,\cdots,x_n|\theta)=f(x_1|\theta)\times f(x_2|\theta)\times\cdots \times f(x_n|\theta) f(x1​,x2​,⋯,xn​∣θ)=f(x1​∣θ)×f(x2​∣θ)×⋯×f(xn​∣θ)
最大似然估计会寻找关于 θ \theta θ的最可能的值,即在所有可能的 θ \theta θ取值中,寻找一个值使这个采样的“可能性”最大化!
因为是“模型已定,参数未知”,此时我们是根据样本采样 x 1 , x 2 , ⋯   , x n x_1,x_2,\cdots,x_n x1​,x2​,⋯,xn​取估计参数 θ \theta θ,定义似然函数为:
L ( θ ∣ x 1 , x 2 , ⋯   , x n ) = f ( x 1 , x 2 , ⋯   , x n ∣ θ ) = ∏ f ( x i ∣ θ ) L(\theta|x_1,x_2,\cdots,x_n)=f(x_1,x_2,\cdots,x_n|\theta)=\prod f(x_i|\theta) L(θ∣x1​,x2​,⋯,xn​)=f(x1​,x2​,⋯,xn​∣θ)=∏f(xi​∣θ)
实际使用中,因为 f ( x i ∣ θ ) f(x_i|θ) f(xi​∣θ)一般比较小,而且 n n n往往会比较大,连乘容易造成浮点运算下溢。所以一般我们用对数似然函数:
ln ⁡ L ( θ ∣ x 1 , x 2 , ⋯   , x n ) = ∑ i = 1 n f ( x i ∣ θ ) l ^ = 1 n ln ⁡ L \ln L(\theta|x_1,x_2,\cdots,x_n)=\sum_{i=1}^n f(x_i|\theta)\\ \hat l=\frac{1}{n}\ln L lnL(θ∣x1​,x2​,⋯,xn​)=i=1∑n​f(xi​∣θ)l^=n1​lnL
则最终的 θ \theta θ的估计值为:
θ ^ M L E = arg ⁡ max ⁡ θ l ^ ( θ ∣ x 1 , x 2 , ⋯   , x n ) \hat\theta_{MLE}=\arg\max\limits_\theta\hat l(\theta|x_1,x_2,\cdots,x_n) θ^MLE​=argθmax​l^(θ∣x1​,x2​,⋯,xn​)
② 贝叶斯估计:
统计学里有两个大的流派,一个是频率派,一个是贝叶斯派。时至今日,这两派还未就各自的观点达成统一。前面提到的最大似然估计就是频率派的典型思路,接下来再看看贝叶斯派的思路。
两个随机变量x,y的联合概率p(x,y)的乘法公式:
p ( x , y ) = p ( x ∣ y ) p ( y ) = p ( y ∣ x ) p ( x ) p(x,y)=p(x|y)p(y)=p(y|x)p(x) p(x,y)=p(x∣y)p(y)=p(y∣x)p(x)
如果x,y是独立随机变量,上面的式子可以表示为:
p ( x , y ) = p ( x ) p ( y ) = p ( y ) p ( x ) p(x,y)=p(x)p(y)=p(y)p(x) p(x,y)=p(x)p(y)=p(y)p(x)
那么条件概率就可以表示为:
p ( x ∣ y ) = p ( x , y ) p ( y ) ,     p ( y ∣ x ) = p ( x , y ) p ( x ) p(x|y)=\frac{p(x,y)}{p(y)}, \ \ \ p(y|x)=\frac{p(x,y)}{p(x)} p(x∣y)=p(y)p(x,y)​,   p(y∣x)=p(x)p(x,y)​
对于一个完备事件组y1,y2,⋯,yn,可以使用全概率公式:
p ( x ) = ∑ i = 1 n p ( y i ) p ( x ∣ y i ) p(x)=\sum^n_{i=1}p(y_i)p(x|y_i) p(x)=i=1∑n​p(yi​)p(x∣yi​)
其中 ∑ i = 1 n p ( y i ) = 1 \sum^n_{i=1}p(y_i)=1 ∑i=1n​p(yi​)=1。
由以上这些,可以得出贝叶斯公式:

其中, p ( y i ∣ x ) p(y_i|x) p(yi​∣x)是后验概率。 p ( x ∣ y i ) p(x|y_i) p(x∣yi​)是条件概率,或者说似然概率,这个概率一般都可以通过历史数据统计得出。而 p ( y i ) p(y_i) p(yi​)是先验概率,一般也是根据历史数据统计得出或者认为给定的,贝叶斯里的先验概率,就是指 p ( y i ) p(y_i) p(yi​)。对于 p ( x ) p(x) p(x),我们前面提到可以用全概率公式计算得出,但是在贝叶斯公式里面我们一般不在意这个概率,因为我们往往只需要求出最大后验概率而不需要求出最大后验的具体值

Bayes公式比MLE公式里就多了一项 p ( y i ) p ( y i ) p(yi)p(yi) p(yi)p(yi),而条件概率或者说似然概率的表达式是一致的。从数学表达式的角度来说,两者最大的区别就在这里:贝叶斯估计引入了先验概率,通过先验概率与似然概率来求解后验概率。而最大似然估计是直接通过最大化似然概率来求解得出的。换句话说,最大似然估计没有考虑模型本身的概率,或者说认为模型出现的概率都相等。而贝叶斯估计将模型出现的概率用先验概率的方式在计算过程中有所体现。

编程实现朴素贝叶斯

载入西瓜数据集

训练集

# 不同的特征及其对应可能的特征值
Dkeys = {
    '色泽': ['青绿', '乌黑', '浅白'],
    '根蒂': ['蜷缩', '硬挺', '稍蜷'],
    '敲声': ['清脆', '沉闷', '浊响'],
    '纹理': ['稍糊', '模糊', '清晰'],
    '脐部': ['凹陷', '稍凹', '平坦'],
    '触感': ['软粘', '硬滑'],
}
Class, labels = '好瓜', ['是', '否']

# 读取数据集
def loadTest():
    array = ['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', 0.697, 0.460, '']
    wmData = {a: b for a, b in zip(dataSet.columns, array)}
    return wmData

# 统计数据
def calculateD(dataSet):
    D = []
    for label in labels:
        temp = dataSet.loc[dataSet[Class] == label]
        D.append(temp)
    return D

这里按照西瓜书的例子,测试样例如下

def testData():
	array = ['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', 0.697, 0.460, '']
	testData= {a: b for a, b in zip(dataSet.columns, array)}
	return testData

贝叶斯分类

参考上面第二个问题,主要需要实现4个功能

统计不同类的先验概率

def calculatePc(Dc, D):
	D_size = D.shape[0]
	Dc_size = Dc.shape[0]
	N = len(labels)
	return (Dc_size+1) / (D_size+N)

统计每个特征的条件概率

def calculatePx_c(key, value, Dc):
    Dc_size = Dc.shape[0]
    Dcx_size = Dc[key].value_counts()[value]
    Ni = len(Dkeys[key])
    return (Dcx_size + 1) / (Dc_size + Ni)

计算后验概率

def calculatePc_x(key, value, Dc):
    mean, var = Dc[key].mean(), Dc[key].var()
    exponent = math.exp(-(math.pow(value - mean, 2) / (2 * var)))
    return (1 / (math.sqrt(2 * math.pi * var)) * exponent)

def calculate_probability(label, Dc, dataSet, data_test):
    prob = calculatePc(Dc, dataSet)
    for key in Dc.columns[:-1]:
        value = data_test[key]
        if key in Dkeys:
            prob *= calculatePx_c(key, value, Dc)
        else:
            prob *= calculatePc_x(key, value, Dc)
    return prob

计算测试样本(结果)最可能的类别(原因)

def predict(dataSet, data_test):
    # mu, sigma = dataSet.mean(), dataSet.var()
    Dcs = calculateD(dataSet)
    max_prob = -1
    for label, Dc in zip(labels, Dcs):
        prob = calculate_probability(label, Dc, dataSet, data_test)
        if prob > max_prob:
            best_label = label
            max_prob = prob
        print(label, prob)
    return best_label

主函数

import math
import numpy as np
import pandas as pd

if __name__ == '__main__':
	# 读取数据
	filename = 'data_3.txt'
	dataSet = loadData(filename)
	data_test = load_data_test()
	label = predict(dataSet, data_test)
	print('预测结果:', label)
机器学习复习 文章目录SVM**balance的方法**逻辑回归和SVM的联系区别朴素贝叶斯逻辑回归和线性回归KNNKD树决策树随机森林GBDTShrinkage最小二乘法和随机森林的区别EMBaggingBoosting凸集凸函数daBoost分类回归的区别生成模型和判别模型的区别过拟合**正则化(Regularization)****随机失活(dropout)****逐层归一化(batch normaliz... 阅读详情

相关推荐

从零实现朴素贝叶斯分类器:原理、代码与实战

在机器学习领域,分类算法是处理预测问题的核心工具之一。其基本原理是通过学习历史数据中的特征与标签之间的关系,构建一个决策边界或概率模型,从而对新的未知样本进行类别预测。从技术价值看,分类算法能够自动化决策过程,广泛应用于垃圾邮件过滤、情感分析、医疗诊断等场景,显著提升处理效率和准确性。其中,朴素贝叶斯分类器基于贝叶斯定理,通过计算后验概率进行分类,其核心优势在于计算效率高、实现简单,且对缺失数据不敏感。该模型特别适合文本分类等高维稀疏数据场景,例如在垃圾邮件过滤中,通过分析邮件中的关键词特征(如“免费”、“

weixin_34218579的博客 330

解决skmultilearn.ensemble.rakelo库中的预测值全0问题

找到 rakelO源码中的rakelo.py 文件此处在最后m个lp分类器进行投票求平均时 源码的分母是voters[column] 也就是统计了预测结果中该标签的所有取值的和在进行四舍五入,这样的出的结果一定是全0的解决办法:    将分母改成self.model_count...

lz867422770的博客 581

【吐血整理-历时两个月,长达万字】FDTD Solutions学习笔记

原教学视频来自于Ansys-Lumerical官方的FDTD100,所看视频来自B站大佬UP主 【Nestor_呐等】 的幸苦翻译,本文内容粘贴自我个人在学习FDTD100时,通过字幕和一些个人理解总结的一份word。整理不易,强烈建议收藏!...

weixin_45719141的博客 10万+

用Python开始机器学习(6:朴素贝叶斯分类器)

朴素贝叶斯 情感分类 python

lsldd的专栏 6万+

从实验室到生活:构建一份全面的手机相机主观画质评测指南

本文详细介绍了如何从实验室数据转向实际体验,构建全面的手机相机主观画质评测指南。通过基础装备清单、室内外场景实战评测及数据之外的感知艺术,帮助用户发现手机相机在色彩还原、动态范围和夜景模式等方面的真实表现。特别关注主观体验与客观参数的差异,提供实用的评测技巧和报告撰写心法。

weixin_30940783的博客 308

功率开关管驱动串扰(Crosstalk):深度解析与优化方案

介绍了功率开关器件驱动串扰产生机理,并整理了常见的工程应用优化措施

qq_38326420的博客 556

pyhanlp 两种依存句法分类器

依存句法分析器 在HanLP中一共有两种句法分析器 依存句法分析 基于神经网络的高性能依存句法分析器 MaxEnt依存句法分析 基于神经网络的高性能依存句法分析器 HanLP中的基于神经网络的高性能依存句法分析器参考的是14年Chen&Manning的论文(A Fast and Accurate Dependency Parser using Neural Networks),这...

FontTian的博客 5279

Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(二)

DRAM 的发展史

qq_33473931的博客 995

贝叶斯分类示例

#coding=utf-8 ''' 贝叶斯决策理论 核心思想:选择高概率对应的类别 引入先验概率和逻辑推理来处理不确定的命题 使用条件概率来进行分类 示例使用贝叶斯分类来屏蔽侮辱性言论 构建分类:0:非侮辱性 1:侮辱性 从文本构建词向量 1.将文本分解成token向量 2.计算所有文档中出现的词的集合,这个集合包含了所有的词汇 3.构建一个长度为词汇集合大小...

lylclz的博客 900

ISO2626 --- Item Definition相关项定义

本文并不是针对ISO26262的一个项目,而是针对ISO26262的规范,我们在相关项定义阶段,我们需要做什么,我们的文档需要包含哪些内容的一个描述。

wj博客 909

9篇2章2节:GBD 数据库的数据申请详解

无论您是初入公共卫生领域的学生、资深的科研工作者,还是政策决策者,GBD数据库都将成为您数据分析与决策支持中不可或缺的重要工具。

MD Code 2600

机器学习之决策树

1.构建决策树的算法有很多,比如:ID3、C4.5、CART,我们选择ID3。 2.信息熵:熵定义为信息的期望值,在信息论与概率统计中,熵是表示随机变量不确定性的度量。熵越大,不确定性越大。 3.信息增益:就是父节点的信息熵与其下所有子节点总信息熵(赋予权重)之差。 4.python实战 5.sklearn

塔塔守护者的博客 405

【实战】Python 携程酒店价格实时抓取爬虫项目全解析

摘要:本文介绍了一个基于Python的携程酒店价格实时抓取系统开发方案。系统采用Requests、BeautifulSoup和Selenium等技术栈,实现了多城市、多日期的酒店数据采集,包括价格、评分、位置等关键信息。通过请求头伪装、IP代理、随机等待等反爬策略,有效应对携程的反爬机制。系统支持数据清洗、去重和CSV/Excel导出,并提供了多线程优化、代理池集成等进阶方案。本文详细阐述了技术原理、代码实现和优化策略,同时强调了数据采集的合法合规性,为旅游行业数据分析提供了可靠的数据获取方案。

2503_91057718的博客 2605

【从零开始】手动实现一个贝叶斯分类器

通过看这篇博客,决定自己写一个,记录一下。 1. 准备数据 数据是自己收集的,数据量越大,准确性越高。 import pandas as pd import numpy as np # 创建DataFrame对象 data = pd.DataFrame() # 创建目标变量 data['Gender'] =['male','male','male','male','female','femal...

Cjv的博客 1214

高空抛物监控系统:基于YOLOv8的轨迹追踪与可视化系统

本文详细介绍了一种基于YOLOv8深度学习模型的高空抛物监控系统,该系统能够实时检测并追踪高层建筑抛掷物的运动轨迹。文章包含完整的系统设计思路、算法实现细节、数据集构建方法以及基于PyQt5的可视化界面开发过程。我们提供了完整的Python实现代码,并讨论了系统的性能优化策略和实际部署考量。此外,我们还推荐了几个公开可用的高空抛物数据集,并详细分析了系统的应用前景和技术挑战。

YOLO 446

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

从零开始学机器学习——初探分类器

合集 - 机器学习(8)1.从零开始学机器学习——什么是机器学习09-242.从零开始学机器学习——了解回归09-253.从零开始学机器学习——准备和可视化数据09-274.从零开始学机器学习——线性和多项式回归09-295.从零开始学机器学习——逻辑回归09-306.从零开始学机器学习——网络应用10-067.从零开始学机器学习——了解分类算法10-148.从零开始学机器学习——初探分类器10-...

weixin_41187332的博客 210

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

从零开始实现朴素贝叶斯分类算法(连续特征情形)

声明:版权所有,转载请联系作者并注明出处: http://blog.csdn.net/u013719780?viewmode=contents知乎专栏: https://www.zhihu.com/people/feng-xue-ye-gui-zi朴素贝叶斯算法是基于贝叶斯定理和特征之间条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基

风雪夜归子 7862

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

从零开始学Python【38】--朴素贝叶斯模型(实战部分)

【前言】在《从零开始学Python【37】--朴素贝叶斯模型(理论部分)》中我们详细介绍了朴素贝叶斯算法的基本概念和理论知识,在这一期我们继续介绍该算法的实战案例。将会对...

lsxxx2011的专栏 880

小白从零开始勇闯人工智能:机器学习初级篇(贝叶斯算法与SVM算法)

本篇文章将学习两个简单而又经典的机器学习算法:朴素贝叶斯和支持向量机(SVM)。为什么选择这两个算法?因为它们代表了机器学习中两种不同的类型:贝叶斯算法基于概率统计,可以直观的展现结果,而SVM基于几何间隔,能力强大而精确。通过学习它们,我们将更加理解机器学习的基本思维方式。

m0_52496416的博客 1466

朴素贝叶斯算法进行西瓜预测

1,朴素贝叶斯法 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。简单来说,朴素贝叶斯分类器假设样本每个特征与其他特征都不相关。 朴素贝叶斯的一般过程 收集数据:可以使用任何方式 准备数据:需要数据型或是布尔型数据 分类数据:有大量特征时,绘制特征作用不大,此时使用直方图效果更好 训练算法:计算不同的独立特征的条件概率 测试算法:计算错误率 使用算法:文档分类 原理 主要是运用贝叶斯定理...

weixin_43166462的博客 5744

机器学习-朴素贝叶斯

##朴素贝叶斯 理论部分 相关概念 生成模型 判别模型 朴素贝叶斯基本原理 条件概率公式 乘法公式 全概率公式 贝叶斯定理 特征条件独立假设 后验概率最大化 拉普拉斯平滑 朴素贝叶斯的三种形式 高斯型 多项式型 伯努利型 极值问题情况下的每个类的分类概率 下溢问题如何解决 零概率问题如何解决 sklearn参数详解 练习部分 利用sklearn解决聚类问题。 sklearn.naive_bayes...

FeiHuoCai的博客 262

《python机器学习及实践-从零开始通往kaggle竞赛之路》——代码整理

配套代码

猴子姑娘呀的博客 2140

Python机器学习及实践从零开始通往Kaggle竞赛之路之第二章 第三个程序朴素贝叶斯分类器

前言:使用朴素贝叶斯模型对数据集进行划分,前面介绍的线性分类器和支持向量机的分类器都适用于数据集能够使用线性分类器进行划分,而朴素贝叶斯考虑的是数据集中样本每个属性被划分不同数据集的概率。然后计算整体被划分不同样本的概率。后期补上代码中MultinomialNB()函数的理解。 参考代码: # -*- coding: utf-8 -*- # @Time : 2019/4/8 0:...

YYLin 337

朴素贝叶斯分类

我们开始讨论OpenCV的机器学习库,首先学习一个监督学习分类器NormalBayesClassifier,叫做正态贝叶斯分类器或者朴素贝叶斯分类器。它假设所有的特征之间相互独立,虽然这种假设不太符合实际,但是在实际运用中,发现这种假设得到的结果却也能够得到惊人的性能。朴素贝叶斯分类器不能处理回归问题,但是它能够有效的处理多类问题,而不仅仅是两类问题。朴素贝叶斯分类器是当前快速发展的贝叶斯网络的最简

CShilin's Personal Blogs 1622

机器学习入门之贝叶斯

# -*- coding: UTF-8 -*- from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split import math import numpy as np iris = load_iris() X_train, X_test, y_train, y_tes...

qq_41268898的博客 169

机器学习算法Task02

sklearn接口 from sklearn.naive_bayes import GaussianNB from sklearn.datasets import load_iris import pandas as pd from sklearn.model_selection import train_test_split iris = load_iris() X_train, X_test,...

weixin_41948788的博客 206
上一篇: 从零开始的机器学习6-强化学习
下一篇: 从零开始的机器学习9-集成学习
LogHouse
博客等级 码龄9年 14粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值