• 大小: 37KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Matlab
  • 标签: 源码  Matlab  

资源简介

带操作界面的贝叶斯分类代码(Matlab) 贝叶斯分类Matlab源码

资源截图

代码片段和文件信息

function [resultcellYCPPdata ] = Classify(attributeNumbervalueNumberarrayFileName)

%attributeNumber=5;
%valueNumber=3;

%读入数据  并将第一列中的字母序列存储到Y中  将后面几列数字的序列存储到X中
%[a1a2a3a4a5]=textread(‘pusubeiyesi.txt‘‘%s%n%n%n%n‘‘delimiter‘‘‘);
%X=[a2a3a4a5];%ex.data是txt中数字数据的部分


data=load(FileName);
%[stand]=size(data);
%[DMaxNumber Location]=max(data);

Y=data(:attributeNumber+1);
X=data(:1:attributeNumber);
uniqueY=unique(Y);
[uniqueYLiner]=size(uniqueY);



[sampleNumber]=size(Y);  %sampleNumber为样本总量



%现在用所有的表中数据进行训练
%countY是一个数组,为一个列向量,第一行表示Y=1的情况下的个数,第二行表示Y=2的情况下的个数
[countY] = YNumber( sampleNumberY );




%cellYCP是一个单列的细胞元组,其中第一行表示Y=1的时候的概率矩阵,概率矩阵第一行第一列表示在Y=1的条件下X的第一个属性取值为1的时候的个数
[cellYCP]=YCP(sampleNumberXYattributeNumbervalueNumber);
celldisp(cellYCP);


    
%计算对应Y不同取值的情况下的概率
sum=0;
for i=1:uniqueYLine
    sum=sum+countY(i1);
end
YP=countY/sum;




%用不同的ClassP函数计算
Pdata=[];

[gh]=size(array);
if h==1
    for i=1:uniqueYLine
        P=ClassP1(array(11)icellYCPYP);
        Pdata=[PdataP];
    end
elseif h==2
    for i=1:uniqueYLine
        P=ClassP2(array(11)array(12)icellYCPYP);
        Pdata=[PdataP];
    end
elseif h==3
    for i=1:uniqueYLine
        P=ClassP3(array(11)array(12)array(13)icellYCPYP);
        Pdata=[PdataP];
    end
elseif h==4
    for i=1:uniqueYLine
        P=ClassP4(array(11)array(12)array(13)array(14)icellYCPYP);
        Pdata=[PdataP];
    end
elseif h==5
    for i=1:uniqueYLine
        P=ClassP5(array(11)array(12)array(13)array(14)array(15)icellYCPYP);
        Pdata=[PdataP];
    end
end    








%求数组中的最大值
[PMaxNumber Location]=max(Pdata);
if Pdata==0;
   Location=0;
end




%如果有多个相同的概率取值
check=0;
checkLocation=[110];
cc=1;
[PxPy]=size(Pdata);
for i=1:Py
    if Pdata(11)-PMaxNumber<0.0005
        check=check+1;
        checkLocation(1cc)=i;
        cc=cc+1;
    end
end    


[CxCy]=size(checkLocation);
if check>1
    for i=1:Cy
        checkNumber(1i)=countY(checkLocation(1i));
    end
    [CMaxNumber CLocation]=max(checkNumber);
    result=CLocation;
    fprintf(‘result=%d\n‘result);
else
    result=Location;
    fprintf(‘result=%d\n‘result);
end




Pdata
fprintf(‘result=%d\n‘result);


%用完数组需要将数组元素清空

end




















 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-24 19:54  贝叶斯分类\
     目录           0  2018-12-24 19:54  贝叶斯分类\贝叶斯分类(图形界面)\
     文件         148  2017-12-07 16:06  贝叶斯分类\贝叶斯分类(图形界面)\ClassP1.m
     文件         186  2017-12-07 13:03  贝叶斯分类\贝叶斯分类(图形界面)\ClassP2.m
     文件         230  2017-12-07 13:03  贝叶斯分类\贝叶斯分类(图形界面)\ClassP3.m
     文件         270  2017-12-07 13:04  贝叶斯分类\贝叶斯分类(图形界面)\ClassP4.m
     文件         314  2017-12-07 13:04  贝叶斯分类\贝叶斯分类(图形界面)\ClassP5.m
     文件        2637  2017-12-08 09:56  贝叶斯分类\贝叶斯分类(图形界面)\Classify.m
     文件        1823  2017-12-07 14:14  贝叶斯分类\贝叶斯分类(图形界面)\YCP.m
     文件         369  2017-12-07 12:32  贝叶斯分类\贝叶斯分类(图形界面)\YNumber.m
     文件       20358  2017-12-08 19:32  贝叶斯分类\贝叶斯分类(图形界面)\pusubeiyesi.fig
     文件       22229  2017-12-08 19:32  贝叶斯分类\贝叶斯分类(图形界面)\pusubeiyesi.m
     文件        5742  2018-06-15 11:35  贝叶斯分类\贝叶斯分类(图形界面)\pusubeiyesi.prj
     文件          62  2017-12-07 21:09  贝叶斯分类\贝叶斯分类(图形界面)\七列属性.txt
     文件          63  2017-12-07 21:13  贝叶斯分类\贝叶斯分类(图形界面)\六列属性分隔符为空格.txt
     文件          60  2017-12-08 13:38  贝叶斯分类\贝叶斯分类(图形界面)\六列属性分隔符为逗号.txt
     文件         154  2017-12-07 12:50  贝叶斯分类\贝叶斯分类(图形界面)\原始测试数据.txt
     文件          53  2017-12-18 10:59  贝叶斯分类\贝叶斯分类(图形界面)\概率相等的数据.txt
     目录           0  2018-12-24 19:54  贝叶斯分类\贝叶斯分类(带变量)\
     文件         148  2017-12-07 16:06  贝叶斯分类\贝叶斯分类(带变量)\ClassP1.m
     文件         186  2017-12-07 13:03  贝叶斯分类\贝叶斯分类(带变量)\ClassP2.m
     文件         230  2017-12-07 13:03  贝叶斯分类\贝叶斯分类(带变量)\ClassP3.m
     文件         270  2017-12-07 13:04  贝叶斯分类\贝叶斯分类(带变量)\ClassP4.m
     文件         314  2017-12-07 13:04  贝叶斯分类\贝叶斯分类(带变量)\ClassP5.m
     文件        2554  2018-01-02 15:11  贝叶斯分类\贝叶斯分类(带变量)\Classify.m
     文件        5622  2018-06-15 11:41  贝叶斯分类\贝叶斯分类(带变量)\Classify.prj
     文件          50  2017-12-07 16:40  贝叶斯分类\贝叶斯分类(带变量)\Copy_of_pusubeiyesi.txt
     文件        1713  2018-01-02 16:21  贝叶斯分类\贝叶斯分类(带变量)\YCP.m
     文件         369  2018-01-02 15:07  贝叶斯分类\贝叶斯分类(带变量)\YNumber.m
     文件         154  2017-12-07 12:50  贝叶斯分类\贝叶斯分类(带变量)\pusubeiyesi.txt
     文件          65  2017-12-08 09:55  贝叶斯分类\贝叶斯分类(带变量)\概率相等的数据.txt
............此处省略0个文件信息

评论

共有 条评论