MNIST数据集上朴素贝叶斯分类器(MATLAB例)

MNIST数据集上朴素贝叶斯分类器

Naive Bayes Classification

fitcnb
Train multiclass naive Bayes model
Syntax
Mdl = fitcnb(Tbl,ResponseVarName)
Mdl = fitcnb(Tbl,formula)
Mdl = fitcnb(Tbl,Y)
Mdl = fitcnb(X,Y)
Mdl = fitcnb(___,Name,Value)
[Mdl,AggregateOptimizationResults] = fitcnb(___)

Normal (Gaussian) Distribution
The ‘normal’ distribution (specify using ‘normal’ ) is appropriate for predictors that have normal distributions in each class. For each predictor you model with a normal distribution, the naive Bayes classifier estimates a separate normal distribution for each class by computing the mean and standard deviation of the training data in that class.

Kernel Distribution
The ‘kernel’ distribution (specify using ‘kernel’) is appropriate for predictors that have a continuous distribution. It does not require a strong assumption such as a normal distribution and you can use it in cases where the distribution of a predictor may be skewed or have multiple peaks or modes. It requires more computing time and more memory than the normal distribution. For each predictor you model with a kernel distribution, the naive Bayes classifier computes a separate kernel density estimate for each class based on the training data for that class. By default the kernel is the normal kernel, and the classifier selects a width automatically for each class and predictor. The software supports specifying different kernels for each predictor, and different widths for each predictor or class.

DistributionNames — fitcnb searches among 'normal' and 'kernel'.
Kernel — fitcnb searches among 'normal', 'box', 'epanechnikov', and 'triangle'.

使用pca作为降维,pca是一种非监督的线性降维方法。方差贡献率作为参数。


10000个样本的样本集

Label    Count
_____    _____0      1000 1      1000 2      1000 3      1000 4      1000 5      1000 6      1000 7      1000 8      1000 9      1000 

在这里插入图片描述


%% 
filename = 'mnist';
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ...'nndatasets','DigitDataset');
imds = imageDatastore(digitDatasetPath, ...'IncludeSubfolders',true,'LabelSource','foldernames');
%%
labelCount = countEachLabel(imds);
%%
Y = imds.Labels;
for i = 1:sum(labelCount.Count)img = im2double(readimage(imds,i));imgs(:,i) = img(:);
end%% 
[coeff,score,latent,tsquared,explained,mu] = pca(imgs');
% figure;plot(explained)
%% 
idx = explained > 0.05;
X = score(:,idx);%% 
DistributionNames = 'kernel';
Mdl = fitcnb(X,Y,"DistributionNames",DistributionNames);
isLabels = resubPredict(Mdl);

在这里插入图片描述


%% 
filename = 'mnist';
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ...'nndatasets','DigitDataset');
imds = imageDatastore(digitDatasetPath, ...'IncludeSubfolders',true,'LabelSource','foldernames');
%%
labelCount = countEachLabel(imds);
%%
Y = imds.Labels;
for i = 1:sum(labelCount.Count)img = im2double(readimage(imds,i));imgs(:,i) = img(:);
end%% 
[coeff,score,latent,tsquared,explained,mu] = pca(imgs');
% figure;plot(explained)
%% 
idx = explained > 0.05;
X = score(:,idx);%% 
DistributionNames = 'normal';
Mdl = fitcnb(X,Y,"DistributionNames",DistributionNames);
isLabels = resubPredict(Mdl);

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/909297.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站设计小技巧:利用交互设计提升用户体验

现在很多企业朋友都会感觉到,做网站设计掌握不好设计网页的魂,换了很多设计方式可能效果都不理想。蒙特网站专注高端网站建设20多年,基于为华为、字节跳动、海康威视等头部企业打造网站的经验,今天将近期用户比较喜欢的网页设计方…

Github指南-Add .gitignore和Choose a license

Add .gitignore(添加忽略文件列表) 📌 作用: .gitignore 文件用于告诉 Git 哪些文件或文件夹**不要被上传(版本控制)**,例如: 编译生成的临时文件(如 .exe, .o&#x…

如何打造沉浸式文件操作体验

在操作系统长期运行后,本地文件系统往往会面临一个常见却棘手的问题:元数据管理效率下降,导致用户在海量文件中检索目标内容时出现显著的延迟与操作成本。这种现象在未使用标签化或语义化管理系统的情况下尤为明显。 而 Oversis 的出现&…

企业AI深水区突围:从星辰大海到脚下泥泞的进化论

一、业务价值旅程:从降本增效到价值跃迁 1.1 技术落地的"甜蜜陷阱" 企业在AI应用初期往往陷入"高配用不起,低配用不了"的困境。一台8卡A100服务器每月电费超3万元的成本,对制造业利润形成巨大挤压。即便跨过算力门槛&a…

PostgreSQL的扩展moddatetime

PostgreSQL的扩展moddatetime moddatetime 是 PostgreSQL 的一个内置扩展,用于自动维护表的最后修改时间字段。这个扩展可以自动更新指定字段为当前时间戳,非常适合需要跟踪记录最后修改时间的应用场景。 一、moddatetime 基本功能 核心特性 自动更新…

自己的电脑搭建外网访问网站服务器的步骤

文章目录 PC电脑做网站服务器的步骤1.前言2. 网站服务器系统的安装2.1个人电脑安装IIS(Windows7系统安装IIS7.0)2.1.1:打开控制面板,给Windows安装插件 2.2网站配置:2.2.1打开网站配置项:2.2.2开始配置&…

基于深度学习的智能语音合成系统:技术与实践

前言 随着人工智能技术的飞速发展,智能语音合成(Text-to-Speech, TTS)技术已经成为人机交互领域的重要组成部分。从智能助手到有声读物,语音合成技术正在改变我们与数字内容的交互方式。近年来,深度学习技术为语音合成…

铸铁平台的制造工艺复杂而精细

铸铁平台的制造工艺确实复杂而精细。首先,需要选择合适的铸铁材料,通常是灰铸铁或球墨铸铁,以满足平台的强度和耐磨性要求。然后,根据设计要求,制作模具,并在高温下将铁液倒入模具中进行铸造。在铸造过程中…

ArcPy 与 ArcGIS .NET SDK 读取 GDB 要素类坐标系失败?GDAL 外挂方案详解

ArcPy 与 ArcGIS .NET SDK 读取 GDB 要素类坐标系失败?GDAL 外挂方案详解 在ArcGIS Pro中正常显示的坐标系,为何通过ArcPy或.NET SDK却无法正确读取?本文将分享我在处理CGCS2000坐标系时的踩坑经历,以及最终通过GDAL外挂方案解决问…

Zabbix 高可用架构部署方案(2最新版)

Zabbix 高可用架构部署方案(MySQL 双 VIPHAProxyNginx) 前景提要:使用 MySQL 作为数据库,两个虚拟 IP(10.0.0.100 和 10.0.0.200),HAProxy 作为数据库负载均衡,Nginx 作为 Web 访问…

深入解析Linux分页机制:从虚拟内存到物理地址的魔法转换

目录 引言:为什么需要分页机制? 一、分页机制基础概念 1.1 虚拟地址与物理地址 1.2 页与页框 1.3 为什么是4KB? 二、多级页表结构 2.1 为什么需要多级页表? 2.2 x86_64的四级页表结构 2.3 页表项详解 三、Linux分页实现机…

使用python进行图像处理—图像变换(6)

图像变换是指改变图像的几何形状或空间位置的操作。常见的几何变换包括平移、旋转、缩放、剪切(shear)以及更复杂的仿射变换和透视变换。这些变换在图像配准、图像校正、创建特效等场景中非常有用。 6.1仿射变换(Affine Transformation) 仿射变换是一种…

NLP-数据集介绍(并不全,文本类介绍)

目录 第一章 STS(语义文本相似度) (重点)一、SemEval STS 年度任务(2012-2017)1. SemEval-2012 STS2. SemEval-2013 STS3. SemEval-2014 STS4. SemEval-2015 STS5. SemEval-2016 STS6. SemEval-2017 STS 二…

JS进阶 Day01

1.作用域和作用域链 let不可访问 var可访问,因为没有块作用域这一说法 2.JS垃圾回收机制以及算法 下图如上图同理 下图这个三个相互引用的,根部找不到,就进行清除。 3.JS闭包 4.变量和函数提升(了解) 5.函数剩余参数和展开运算符 还有种写法 …

详解Python当中的pip常用命令

想象一下,如果建造房屋时,每一块砖、每一根钢筋都需要你自己亲手烧制和打造,那会是怎样一番景象?软件开发也是如此。如果没有现成的、高质量的、可复用的代码库,开发者们就不得不重复“发明轮子”,效率低下…

LangChain面试内容整理-知识点10:文本嵌入模型(Embeddings)使用

文本嵌入(Embeddings)是将文字转换为向量(高维数值向量)的过程和结果。在LangChain中,Embeddings模块负责调用各种嵌入模型,将文本转化为向量表示,以便后续在向量空间执行相似度搜索、聚类等操作。这在实现语义搜索、RAG中非常关键,因为向量可以让计算机“理解”文本语…

To be or Not to be, That‘s a Token——论文阅读笔记——Beyond the 80/20 Rule和R2R

本周又在同一方向上刷到两篇文章,可以说,……同学们确实卷啊,要不卷卷开放场域的推理呢? 这两篇都在讲:如何巧妙的利用带有分支能力的token来提高推理性能或效率的。 第一篇叫 Beyond the 80/20 Rule: High-Entropy Mi…

bisheng系列(三)- 本地部署(后端 1.2版本)

一、导读 环境:Ubuntu 24.04、open Euler 23.03、Windows 11、WSL 2、Python 3.10 、bisheng 1.2.0 背景:需要bisheng二开商用,故而此处进行本地部署,便于后期调试开发 时间:20250612 说明:bisheng的1.2…

使用 PolarProxy+Proxifier 解密 TLS 流量

一、简介 在分析恶意样本或加密流量时,我们常常需要将 TLS 加密通信还原为明文。 本文介绍如何通过 PolarProxy 和Proxifier 解密 TLS 流量并保存为 pcap 文件,在 Wireshark 中进行进一步分析。 二、工具准备 ✅ PolarProxy(推荐 Windows x64 版本)✅ Proxifier(强制非浏…

[技术积累]成熟的前端和后端开发框架

1、后端 1.1、低代码开发框架 1.1.1、jeecg 官网:JEECG技术论坛 - 基于BPM的低代码开发平台 1.1.2、APIJSON github官网地址:https://github.com/APIJSON gitee官网地址:https://gitee.com/Tencent/APIJSON 官网地址:腾讯AP…