贝叶斯判别matlab,Bayes判别matlab源程序
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源程序相关推荐
- 【信号处理】贝叶斯和分段IVIM模型拟合matlab代码
1 简介 贝叶斯和分段IVIM模型拟合matlab代码 2 完整代码 %%%%%%%%%%%%%%%%%%%%%%%%%% Use of IVIMmodelfit %%%%%%%%%%%%%%%%% ...
- 朴素贝叶斯(Naive Bayes)(原理+Python实现)
朴素贝叶斯(Naive Bayes)(原理+Python实现) 创作背景 算法分类 生成类算法 判别类算法 区别 知识补充 朴素贝叶斯算法 举个栗子 求解思路 求解过程(数学计算) 代码实现 自己实现 ...
- 贝叶斯信念网络Bayes Belief network
贝叶斯信念网络Bayes Belief network 文章目录 贝叶斯信念网络Bayes Belief network 1. BBN 2. 两大成分 3. 先验概率 3.1.1 计算患心脏病的概率 ...
- 朴素贝叶斯(naive bayes)原理小结
朴素贝叶斯(naive bayes)原理小结 1. 朴素贝叶斯的学习 1.1 基本假设:条件独立性 1.2 朴素贝叶斯分类器 1.3 后验概率的含义 2. 参数估计 2.1 极大似然估计 2.2 贝叶 ...
- 一文读懂贝叶斯原理(Bayes‘ theorem)
一文读懂贝叶斯原理(Bayes' theorem) 前言:贝叶斯定理是18世纪英国数学家托马斯·贝叶斯(Thomas Bayes)提出得重要概率论理论.以下摘一段 wikipedia 上的简介: 一. ...
- 朴素贝叶斯(Naive Bayes)分类和Gaussian naive Bayes
朴素贝叶斯(Naive Bayes) 参考资料:https://www.cnblogs.com/pinard/p/6069267.html 朴素贝叶斯最关键的就是 (强制认为每种指标都是独立的 ...
- 【机器学习sklearn】高斯朴素贝叶斯 Gaussian naive bayes
贝叶斯Bayes - Thomas Bayes 前言 一.贝叶斯决策论(Bayesian decision theory) 二.实例:高斯朴素贝叶斯 Gaussian Naive Bayes (Gau ...
- python机器学习-朴素贝叶斯(Naive Bayes)模型建立及评估(完整代码+实现效果)
实现功能: python机器学习-朴素贝叶斯(Naive Bayes)模型建立及评估. 实现代码: # 导入需要的库 from warnings import simplefilter simplef ...
- 朴素贝叶斯(naive bayes)分类
1. 概念回顾 1.1 条件概率公式 条件概率是指在事件B发生的条件下,事件A发生的概率.条件概率表示为P(A∣B)P(A|B)P(A∣B),读作"A在B发生的条件下发生的概率". ...
- 朴素贝叶斯(Naive Bayes):鸢尾花分类项目(不调库,手工推)
一.数据来源 1.数据来源:kaggle 2.数据样式 通过对数据"萼片.花瓣的长度.宽度(sepal_length.sepal_width.petal_length.petal_width ...
最新文章
- matlab矢量相乘并打印显示
- 机器学习理论篇:机器学习的数学基础
- Windows服务器修改默认TTL值的方法
- charles抓包出现乱码 SSL Proxying not enabled for this host:enable in Proxy Setting,SSL locations...
- shiro框架的学习
- python内嵌浏览器_内嵌web浏览器
- 树莓派测试USB摄像头是否可用
- Guice依赖注入(一)
- 多线程面试题(值得收藏)
- 自动化专题讲座:作为自动化工程师,如何才能更好的承担社会责任?
- 空间四点定位原理及应用
- conversational recommender system论文笔记;推荐系统(recommender system)+对话系统(dialogue system)
- 计算机操作系统的主要功能
- 二叉树【按层打印、序列化、反序列化】
- Web应用跨域访问解决方案
- 【容器化】浅析容器化以及容器编排
- 数据库云管平台将成为企业数字化转型的重要工具
- 让我康康,还有谁不知道这些简单的vr全景制作“小心机”?
- Android MVP架构模式
- 大疆 三维建模 正射影像 价格