【学习笔记】matlab算法实现贝叶斯判别classify函数

本文介绍如何使用Matlab进行贝叶斯判别分析,并通过大气污染数据集示例展示如何应用classify函数进行线性判别分析,实现数据分类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


贝叶斯判别:对象(总体)在抽样前已有一定的认识,常用先验分布来描述这种认识,然后给予抽取的样本再对先验认识作修正,得到后验分布,而各种统计推断均基于后验分布进行。将Bayes 统计的思想用于判别分析,就得到Bayes判别。

在Matlab软件包中,将已经分类的m个数据(长度为n)作为行向量,得到一个矩阵trianing,每行都属于一个分类类别,分类类别构成一个整数列向量g(共有m行),待分类的k个数据(长度为n)作为行向量,得到一个矩阵sample,然后利用classify函数进行线性判别分析(默认)。它的格式为:
                classify(sample,training,group),
采用一个大气污染的例子



现在有样品如下,求的他们的分类~



采用matlab程序实现如下:


training=[0.056  0.084  0.031  0.038  0.0081  0.022;

               0.040  0.055  0.100  0.110  0.0220  0.0073;

  0.050  0.074  0.041  0.048  0.0071  0.020;

  0.045  0.050  0.110  0.100  0.0250  0.0063;

  0.038  0.130  0.079  0.170  0.0580  0.043;

  0.030  0.110  0.070  0.160  0.0500  0.046;

  0.034  0.095  0.058  0.160  0.200  0.029;

  0.030  0.090  0.068  0.180  0.220  0.039;

  0.084  0.066  0.029  0.320  0.012  0.041;

  0.085  0.076  0.019  0.300  0.010  0.040;

  0.064  0.072  0.020  0.250  0.028  0.038;

  0.054  0.065  0.022  0.280  0.021  0.040;

  0.048  0.089  0.062  0.260  0.038  0.036;

  0.045  0.092  0.072  0.200  0.035  0.032;

  0.069  0.087  0.027  0.050  0.089  0.021];

group=[1;1 ;1 ;1 ;2 ;2 ;1; 1; 2 ;2 ;2 ;2 ;2 ;2 ;1];

sample=[0.052  0.084  0.021  0.037  0.0071  0.022;

               0.041  0.055  0.110  0.110  0.0210  0.0073;

               0.030  0.112  0.072  0.160  0.056  0.021;

               0.074  0.083  0.105  0.190  0.020  1.000];

[class,err]=classify(sample,training,group,'mahalanobis')


存盘后执行,得到

  class =

 

       1 

       1

       2

       2

 

  err =

 

       0

转自:http://blog.sina.com.cn/s/blog_6c7b434d01013zv7.html
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值