当前位置: 首页 > news >正文

MATLAB实现朴素贝叶斯分类

朴素贝叶斯(Naive Bayes)是一种基于贝叶斯定理的分类算法,它假设特征之间相互独立,从而简化了计算复杂性。该算法常用于文本分类、垃圾邮件过滤、情感分析等应用场景。

MATLAB实现鸢尾花数据集分类代码如下:

clear
load fisheriris
X = meas(:,1:2);
Y = species;
labels = unique(Y);figure;
gscatter(X(:,1), X(:,2), species,'rgb','osd');
xlabel('Sepal length');
ylabel('Sepal width');
mdl = fitcnb(X,Y);
[xx1, xx2] = meshgrid(4:.01:8,2:.01:4.5);
XGrid = [xx1(:) xx2(:)];
[predictedspecies,Posterior,~] = predict(mdl,XGrid);sz = size(xx1);
s = max(Posterior,[],2);
figure
hold on
surf(xx1,xx2,reshape(Posterior(:,1),sz),'EdgeColor','none')
surf(xx1,xx2,reshape(Posterior(:,2),sz),'EdgeColor','none')
surf(xx1,xx2,reshape(Posterior(:,3),sz),'EdgeColor','none')
xlabel('Sepal length');
ylabel('Sepal width');
colorbar
view(2)
hold offfigure('Units','Normalized','Position',[0.25,0.55,0.4,0.35]);
hold on
surf(xx1,xx2,reshape(Posterior(:,1),sz),'FaceColor','red','EdgeColor','none')
surf(xx1,xx2,reshape(Posterior(:,2),sz),'FaceColor','blue','EdgeColor','none')
surf(xx1,xx2,reshape(Posterior(:,3),sz),'FaceColor','green','EdgeColor','none')
xlabel('Sepal length');
ylabel('Sepal width');
zlabel('Probability');
legend(labels)
title('Classification Probability')
alpha(0.2)
view(3)
hold off

运行结果如下:

相关文章:

  • 第1章 计算机网络体系结构-1.2计算机网络体系结构与参考模型
  • 【Python】通过conda安装Python的IDE
  • Harris关键点检测以及SAC-IA粗配准
  • 基于Python实现Midjourney集成到(个人/公司)平台中
  • 【前端工程化面试题】简单说一下 vite 的原理
  • 【C++】const、static关键字和构造函数初始化
  • 北邮复试刷题103. 二叉树的锯齿形层序遍历
  • 目标检测 | 卷积神经网络(CNN)详细介绍及其原理详解
  • 创新设计与技术突破:嵌入式系统在人工智能和机器学习领域的应用前景
  • 常见的JavaScript书写基本规范
  • 《Linux 简易速速上手小册》第8章: 安全性与加固(2024 最新版)
  • B3657 [语言月赛202209] 公园门票
  • oracle dbms_job 写法
  • ubuntu下如何查看显卡及显卡驱动
  • CSS之BFC
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【技术性】Search知识
  • js中的正则表达式入门
  • 关于 Cirru Editor 存储格式
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • AI算硅基生命吗,为什么?
  • Android开发者必备:推荐一款助力开发的开源APP
  • puppet连载22:define用法
  • RDS-Mysql 物理备份恢复到本地数据库上
  • 函数计算新功能-----支持C#函数
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​iOS安全加固方法及实现
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #Linux(权限管理)
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (pojstep1.3.1)1017(构造法模拟)
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .NET 表达式计算:Expression Evaluator
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .net和php怎么连接,php和apache之间如何连接
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .Net语言中的StringBuilder:入门到精通
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @PreAuthorize注解
  • @staticmethod和@classmethod的作用与区别
  • [2]十道算法题【Java实现】
  • [Android] Upload package to device fails #2720
  • [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c
  • [Google Guava] 1.1-使用和避免null
  • [JavaEE系列] wait(等待) 和 notify(唤醒)
  • [json]定义、读写
  • [linux] shell中的()和{}
  • [Linux打怪升级之路]-信号的保存和递达
  • [LLM]大模型八股知识点(一)
  • [python]python监听、操作键盘鼠标库pynput详细教程