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
繁體地址,請注明出處:http://hk.pswp.cn/news/909297.shtml
英文地址,請注明出處:http://en.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…