当前位置: 首页 > 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 off

figure('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

运行结果如下:

相关文章:

  • Mysql报错:too many connections
  • PyTorch detach():深入解析与实战应用
  • Javaweb之SpringBootWeb案例之AOP概述及入门的详细解析
  • 双非本科准备秋招(19.2)—— 设计模式之保护式暂停
  • 每日一个脚本之一键部署Docker
  • 一、DataX简介
  • MCU+SFU视频会议一体化,视频监控,指挥调度(AR远程协助)媒体中心解决方案。
  • C/C++内存管理:new、delete功能及原理实现
  • redis-sentinel(哨兵模式)
  • Tkinter教程21:Listbox列表框+OptionMenu选项菜单+Combobox下拉列表框控件的使用+绑定事件
  • Redis持久化、主从与哨兵架构详解
  • C++入门
  • 嵌入式硬件工程师与嵌入式软件工程师
  • pycharm像jupyter一样在控制台查看后台变量
  • npm 下载报错
  • Spring和Spring Boot的区别
  • django实现外键
  • 四、OpenAI之文本生成模型(Text Generation)
  • 寒假作业-day11
  • KingSCADA实现按钮点击效果
  • 武汉大学新闻与传播学院已由“80后”副院长吴世文主持工作
  • 美国季度GDP时隔三年再现负增长,特朗普政府关税政策对美国经济负面影响或将持续
  • 王毅谈金砖国家开展斡旋调解的经验和独特优势
  • 航海王亚洲巡展、工厂店直销……上海多区推出“五五购物节”活动
  • 涉嫌严重违纪违法,57岁证监会副主席王建军被查
  • “铁血防守”制造8年最快丢球,恐惧中的阿森纳什么也做不了