📄 bayes_classify.m
字号:
% Bayes分类器算法设计
close all
clear all
x=[-5:0.01:5];
%一个标准事件的样本值
x_sample=[
-3.9847 -3.5549 -1.2401 -0.9780 -0.7932 -2.8531...
-2.7605 -3.7287 -3.5414 -2.2692 -3.4549 -3.0752...
-3.9934 2.8792 -0.9780 0.7932 1.1882 3.0682...
-1.5799 -1.4885 -0.7431 -0.4221 -1.1186 4.2532];
% 待观测细胞的样本值
p1=0.9; % 正常细胞的先验概率
p2=0.1; % 异常细胞的先验概率
pk1x=zeros(1,length(x)); %建立一个1*length(x)的一维全零矩阵用来存储正常细胞条件概率密度分布
pk2x=zeros(1,length(x)); %建立一个1*length(x)的一维全零矩阵用来存储异常细胞条件概率密度分布
pk1x=probability_density_function(2,2,x); % 正常细胞的条件概率密度分布
pk2x=probability_density_function(-2,0.5,x); % 异常细胞的条件概率密度分布
% 对一个从-5到5间隔为0.01的序列的条件概率密度分布
pk1=zeros(1,length(x_sample)); %建立一个1*length(x_sample)的一维全零矩阵用来存储正常细胞条件概率密度分布
pk2=zeros(1,length(x_sample)); %建立一个1*length(x_sample)的一维全零矩阵用来存储异常细胞条件概率密度分布
pk1=probability_density_function(2,2,x_sample); % 待测样本中的正常细胞的条件概率密度分布
pk2=probability_density_function(-2,0.5,x_sample); % 待测样本中的异常细胞的条件概率密度分布
% 待观测样本值的条件概率密度分布
p_hy1=zeros(2,length(x)); %建立一个2*length(x)的二维全零矩阵用来存储正常细胞和异常细胞的后验概率
p_hy1=posterior_probability(p1,p2,pk1x,pk2x);
% 对一个从-5到5间隔为0.01的序列的后验概率分布
p_hy2=zeros(2,length(x_sample)); %建立一个2*length(x_sample)的二维全零矩阵用来存储正常细胞和异常细胞的后验概率
p_hy2=posterior_probability(p1,p2,pk1,pk2);% 待测样本的后验概率
subplot(2,1,1) %在第一副图中绘制正常细胞和异常细胞的条件概率分布曲线
hold on
grid on
plot(x,pk1x,'c');
%正常细胞的条件概率分布曲线
plot(x,pk2x,'g')
%异常细胞的条件概率分布曲线
subplot(2,1,2)%在第而副图中绘制正常细胞和异常细胞的后验概率分布曲线
hold on
grid on
plot(x,p_hy1(1,:),'r');
% 正常细胞的后验概率分布曲线
plot(x,p_hy1(2,:),'b');
% 异常细胞地后验概率分布曲线
for k=1:length(x_sample) %在观测样本范围内进行正常细胞和异常细胞后验概率的分类
if p_hy2(1,k)>p_hy2(2,k) % 判为正常细胞
plot(x_sample(k),-0.1,'r*');
%红色*来表示某一点观测值是正常细胞
else % 判为异常细胞
plot(x_sample(k),-0.1,'bo');
%蓝色o来表示某一点观测值是异常细胞
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -