Bayes判别matlab源程序

在分类判别中,bayes判别的确具有明显的统计优势,在我所做的应用中,与模糊,灰色,物元可拓相比,判别准确率一般都会高些,而BP神经网络由于调试麻烦,在调试过程中需要人工参与,而且存在明显的问题,局部极小点和精度与速度的矛盾,以及训练精度和仿真精度间的矛盾,等,尽管是非线性问题的一种重要方法,但是在我们项目中使用存在一定的局限,基于此,研究bayes判别,并写出bayes判别的matlab程序,与spss非逐步判别计算结果一致。现对外共享下:

%贝叶斯判别

clear;clc;

yangben=[

1 5.38 2.44 2.77 8.53 1.58 0.48

1 1.11 1.62 3.05 4.29 0.29 0.08

1 3.24 2.04 4.55 8.16 1.25 0.42

2 2.44 2.09 36.05 5.44 28.72 6.25

2 2.20 2.32 35.94 5.03 28.78 6.36

2 2.12 1.90 36.80 5.70 28.93 6.18

2 2.96 3.27 34.55 5.48 28.67 6.61

2 2.25 1.80 36.43 5.33 28.95 5.83

2 2.19 1.87 36.69 5.55 28.98 6.23

2 1.97 1.22 37.61 5.06 31.46 4.25

2 2.64 1.41 35.73 5.03 32.21 2.54

3 2.17 1.22 32.1 6.41 28.93 0.15

3 1.81 1.05 31.03 3.89 28.78 1.22

3 1.49 0.83 31.06 3.85 29.01 0.52

3 2.15 1 30.61 5.47 28.07 0.22

3 0.36 0.17 51.05 23.45 28.06 0.07

3 0.12 0.10 62.31 40.91 17.37 0.66

3 0.22 0.11 53.17 21.88 28.64 0.09

3 2.33 1.64 33.95 7.66 29.54 0.72

3 0.93 0.41 11.71 6.49 1.6 4.96

];

g=3; %g-group分类数,后来写了个自动检测分类数的,不过没在matlab下些,呵呵

[m,n]=size(yangben);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

for i=1:g

groupNum(i)=0;

group(i)=0;

for j=1:m

if yangben(j,1)==i

group(i)=group(i)+1;

end

end

if i==1

groupNum(i)=group(i);

else

groupNum(i)=groupNum(i-1)+group(i);

end

end

group;

groupNum; %计算分类个数数组

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%计算总平均值

% for j=1:n-1

% TotalMean(j)=0;

% for i=1:m

% TotalMean(j)=TotalMean(j)+yangben(i,j+1);

% end

% TotalMean(j)=TotalMean(j)/m;

% end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

GroupMean=[];

for i=1:g

if i==1

low=1;

up=groupNum(i);

else

low=groupNum(i-1)+1;

up=groupNum(i);

end

matrix=yangben(low:up,:);

MatrixMean=mean(matrix); %各分类组平均值

GroupMean=[GroupMean;MatrixMean];

for u=low:up

for v=2:n

C(u,v-1)=yangben(u,v)-MatrixMean(v);

end

end

end

C;

GroupMean;

V=C'*C/(m-g);

V_inv=inv(V); %对矩阵V求逆

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

GroupMean=GroupMean(:,2:n);

Q1=GroupMean*V_inv;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

for i=1:g

lnqi(i)=log(group(i)/m);

mat=GroupMean(i,:);

Q2(i)=lnqi(i)-0.5*mat*V_inv*mat';

end

lnqi;

Q2;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

b=[

5.38 2.44 2.77 8.53 1.58 0.48

1.11 1.62 3.05 4.29 0.29 0.08

3.24 2.04 4.55 8.16 1.25 0.42

3.12 1.78 3.47 7.41 0.74 0.22

3.22 1.91 3.87 7.69 0.97 0.34

1.91 1.68 34.6 6.03 27.47 4.69

2.77 1.84 34.74 5.58 29.36 4.41

2.5 1.55 37.47 5.45 30.71 5.36

2 1.09 35.2 4.59 30.27 3.43

2.62 2.25 35.56 5.68 28.96 5.79

3.23 2.93 32.86 5.43 27.6 5.37

2.44 2.09 36.05 5.44 28.72 6.25

2.20 2.32 35.94 5.03 28.78 6.36

2.12 1.90 36.80 5.70 28.93 6.18

2.96 3.27 34.55 5.48 28.67 6.61

2.25 1.80 36.43 5.33 28.95 5.83

2.19 1.87 36.69 5.55 28.98 6.23

1.97 1.22 37.61 5.06 31.46 4.25

2.64 1.41 35.73 5.03 32.21 2.54

0.14 0.19 69.64 41.52 13.73 0.05

0.14 0.16 18.68 16.45 0.58 0.31

0.21 0.4 78.97 42.36 27.18 0

0.3 0.2 77.93 38.32 36.05 0.64

0.32 0.29 56.87 21.26 36.2 0.02

0.1 0.16 50.53 16.45 30.38 2.29

0.06 0.22 50.48 13.46 31.05 1.78

0.19 0.09 35.69 6.5 28.34 0.77

0.26 0.24 35.41 6.88 28.37 0.66

0.13 0.15 40.05 10.43 28.36 1.54

1.26 0.39 35.16 7.97 24.85 3.99

0.88 0.53 38.46 7.76 26.24 5.87

1.27 0.57 37.06 7.84 27.26 3.8

0.22 0.22 43.18 11.88 28.93 2.81

0.15 0.13 53.09 15.67 35.11 0.08

1.28 0.61 34.37 0.39 28.94 1.92

0.33 0.6 37.65 6.38 30.05 0.97

0.49 0.31 53.97 15.4 32.87 3.69

2.17 1.22 32.1 6.41 28.93 0.15

1.81 1.05 31.03 3.89 28.78 1.22

1.49 0.83 31.06 3.85 29.01 0.52

2.15 1 30.61 5.47 28.07 0.22

0.36 0.17 51.05 23.45 28.06 0.07

0.12 0.10 62.31 40.91 17.37 0.66

0.22 0.11 53.17 21.88 28.64 0.09

2.33 1.64 33.95 7.66 29.54 0.72

0.93 0.41 11.71 6.49 1.6 4.96

]; % 判别的样本

[u,v]=size(b);

result=[];

for i=1:u

x=b(i,:);

yy=Q1*x'+Q2';

result=[result yy];

end

res=result' %计算的待判数据对各标准数据的线性计算值

[rows,cols]=size(result);

for i=1:cols

iljj=0;

mlljj=result(:,i);

for j=1:rows

iljj=iljj+exp(result(j,i)-max(mlljj));

end

for j=1:rows

houyangailv(j,i)=exp(result(j,i)-max(mlljj))/iljj;

end

end

H=houyangailv' %后验概率

贝叶斯判别matlab,Bayes判别matlab源程序相关推荐

  1. 【信号处理】贝叶斯和分段IVIM模型拟合matlab代码

    1 简介 贝叶斯和分段IVIM模型拟合matlab代码​ 2 完整代码 %%%%%%%%%%%%%%%%%%%%%%%%%% Use of IVIMmodelfit %%%%%%%%%%%%%%%%% ...

  2. 朴素贝叶斯(Naive Bayes)(原理+Python实现)

    朴素贝叶斯(Naive Bayes)(原理+Python实现) 创作背景 算法分类 生成类算法 判别类算法 区别 知识补充 朴素贝叶斯算法 举个栗子 求解思路 求解过程(数学计算) 代码实现 自己实现 ...

  3. 贝叶斯信念网络Bayes Belief network

    贝叶斯信念网络Bayes Belief network 文章目录 贝叶斯信念网络Bayes Belief network 1. BBN 2. 两大成分 3. 先验概率 3.1.1 计算患心脏病的概率 ...

  4. 朴素贝叶斯(naive bayes)原理小结

    朴素贝叶斯(naive bayes)原理小结 1. 朴素贝叶斯的学习 1.1 基本假设:条件独立性 1.2 朴素贝叶斯分类器 1.3 后验概率的含义 2. 参数估计 2.1 极大似然估计 2.2 贝叶 ...

  5. 一文读懂贝叶斯原理(Bayes‘ theorem)

    一文读懂贝叶斯原理(Bayes' theorem) 前言:贝叶斯定理是18世纪英国数学家托马斯·贝叶斯(Thomas Bayes)提出得重要概率论理论.以下摘一段 wikipedia 上的简介: 一. ...

  6. 朴素贝叶斯(Naive Bayes)分类和Gaussian naive Bayes

    朴素贝叶斯(Naive Bayes)   参考资料:https://www.cnblogs.com/pinard/p/6069267.html   朴素贝叶斯最关键的就是 (强制认为每种指标都是独立的 ...

  7. 【机器学习sklearn】高斯朴素贝叶斯 Gaussian naive bayes

    贝叶斯Bayes - Thomas Bayes 前言 一.贝叶斯决策论(Bayesian decision theory) 二.实例:高斯朴素贝叶斯 Gaussian Naive Bayes (Gau ...

  8. python机器学习-朴素贝叶斯(Naive Bayes)模型建立及评估(完整代码+实现效果)

    实现功能: python机器学习-朴素贝叶斯(Naive Bayes)模型建立及评估. 实现代码: # 导入需要的库 from warnings import simplefilter simplef ...

  9. 朴素贝叶斯(naive bayes)分类

    1. 概念回顾 1.1 条件概率公式 条件概率是指在事件B发生的条件下,事件A发生的概率.条件概率表示为P(A∣B)P(A|B)P(A∣B),读作"A在B发生的条件下发生的概率". ...

  10. 朴素贝叶斯(Naive Bayes):鸢尾花分类项目(不调库,手工推)

    一.数据来源 1.数据来源:kaggle 2.数据样式 通过对数据"萼片.花瓣的长度.宽度(sepal_length.sepal_width.petal_length.petal_width ...

最新文章

  1. matlab矢量相乘并打印显示
  2. 机器学习理论篇:机器学习的数学基础
  3. Windows服务器修改默认TTL值的方法
  4. charles抓包出现乱码 SSL Proxying not enabled for this host:enable in Proxy Setting,SSL locations...
  5. shiro框架的学习
  6. python内嵌浏览器_内嵌web浏览器
  7. 树莓派测试USB摄像头是否可用
  8. Guice依赖注入(一)
  9. 多线程面试题(值得收藏)
  10. 自动化专题讲座:作为自动化工程师,如何才能更好的承担社会责任?
  11. 空间四点定位原理及应用
  12. conversational recommender system论文笔记;推荐系统(recommender system)+对话系统(dialogue system)
  13. 计算机操作系统的主要功能
  14. 二叉树【按层打印、序列化、反序列化】
  15. Web应用跨域访问解决方案
  16. 【容器化】浅析容器化以及容器编排
  17. 数据库云管平台将成为企业数字化转型的重要工具
  18. 让我康康,还有谁不知道这些简单的vr全景制作“小心机”?
  19. Android MVP架构模式
  20. 大疆 三维建模 正射影像 价格

热门文章

  1. 【转】50款免费的好软件
  2. cocos creator 单机小驴快跑
  3. Arduino IED for EDP8266编写的相关函数
  4. 第8章 矩阵特征值问题计算
  5. 记录装禅道XAMPP过程中 遇到的端口问题(1)
  6. C++转iOS开发5个月总结
  7. Matlab中eig内置函数转为C语言
  8. 加工中心用于完成较大铣削量的工件的加工设备
  9. Laravel表格操作Laravel-Excel
  10. 路漫漫其修远兮,吾将上下而求索——《深入浅出MFC》读后感