matlab机器学习之朴素贝叶斯实例分析

本文仅说明matlab中关于朴素贝叶斯算法中函数运用的简单实例。
使用matlab自带的数据集 fisheriris
此数据集包含以下两个矩阵:
在这里插入图片描述
species包含3个种类—‘setosa’,‘versicolor’,‘virginica’
可实现三分类 可仿照这个写

默认情况下,该软件使用具有一定平均值和标准偏差的高斯分布对每个类​​别内的预测变量分布进行建模。

load fisheriris
X = meas(:,3:4);  %仅使用meas里第三和第四的特征
Y = species;
tabulate(Y)    %展示Y各个的species的占比

%创建mdl
Mdl = fitcnb(X,Y,...
    'ClassNames',{'setosa','versicolor','virginica'});
%预测
Z=meas(25,3:4);
Zclass = predict(Mdl,Z); 

setosaIndex = strcmp(Mdl.ClassNames,'setosa');
estimates = Mdl.DistributionParameters{setosaIndex,1};
%使用点表示法显示特定高斯拟合的参数,例如显示setosa中第一个特征的拟合。
%estimates = 2×1
%1.4620
%0.1737
%绘制高斯轮廓
figure
gscatter(X(:,1),X(:,2),Y);
h = gca;
cxlim = h.XLim;
cylim = h.YLim;
hold on
Params = cell2mat(Mdl.DistributionParameters); 
Mu = Params(2*(1:3)-1,1:2); % Extract the means
Sigma = zeros(2,2,3);
for j = 1:3
    Sigma(:,:,j) = diag(Params(2*j,:)).^2; % Create diagonal covariance matrix
    xlim = Mu(j,1) + 4*[1 -1]*sqrt(Sigma(1,1,j));
    ylim = Mu(j,2) + 4*[1 -1]*sqrt(Sigma(2,2,j));
    ezcontour(@(x1,x2)mvnpdf([x1,x2],Mu(j,:),Sigma(:,:,j)),[xlim ylim]);
        % Draw contours for the multivariate normal distributions 
end
h.XLim = cxlim;
h.YLim = cylim;
title('Naive Bayes Classifier -- Fisher''s Iris Data');
xlabel('Petal Length (cm)');
ylabel('Petal Width (cm)');
hold off;
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
matlab朴素贝叶斯算法是一种基于概率统计的分类算法。根据引用中的说明,朴素贝叶斯算法的实现可以参考navie bayes.txt文件中的说明。该文件提供了对朴素贝叶斯算法的清晰解释和参考代码。 在matlab中实现朴素贝叶斯算法,需要进行一些操作。例如,根据引用的代码,可以创建一个记录每个组分别出现次数的矩阵,以便后续计算和分类。 朴素贝叶斯算法的主要思想是基于贝叶斯定理,通过计算观测数据的概率来预测给定的样本属于哪个类别。算法假设所有的特征都是相互独立的,因此称为"朴素"。 具体而言,朴素贝叶斯算法首先利用训练数据计算各个类别的先验概率和每个特征在不同类别下的条件概率。然后,根据贝叶斯定理和独立性假设,计算给定样本属于每个类别的后验概率,并选择具有最高后验概率的类别作为预测结果。 通过使用matlab编程语言,可以简化朴素贝叶斯算法的实现。根据引用中的简略实现代码,可以更好地理解算法的操作和步骤。 请注意,以上只是关于matlab朴素贝叶斯算法的简要介绍。要深入了解该算法的原理和实现细节,建议参考引用中的具体说明和引用中的代码片段。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [朴素贝叶斯matlab程序](https://download.csdn.net/download/mengyang9999/18980441)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [MATLAB机器学习方法之朴素贝叶斯算法](https://blog.csdn.net/QLY_8829861/article/details/128875131)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [朴素贝叶斯分类算法(matlab实现)](https://blog.csdn.net/qq_42418728/article/details/104441023)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值