主页 > 人工智能  > 

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

运行结果如下:

标签:

MATLAB实现朴素贝叶斯分类由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“MATLAB实现朴素贝叶斯分类