朴素贝叶斯--matlab自带工具箱的使用

来源:互联网 发布:集搜客网页抓取软件 编辑:程序博客网 时间:2024/05/29 13:47

朴素贝叶斯分类使用条件:其数据点的维数(即特征之间相互独立)。当属性之间相关性较小时,分类效率好;当属性之间相关性较大时,分类不如决策树。


属性之间的相关性获得:用协方差矩阵(matlab自带函数cov获得);

1)nb=NaiveBays.fit(training,class)

     %training训练数据,N*D的矩阵,行数为数据点数,列数为维数;

                

   %class训练数据类,行数为数据点数,列数为类数;

                  

 %nb:形成的贝叶斯分类器;


2)predict_label=predict(nb,test_data);%test_data为测试数据;predict_label为预计的类型,N行1列;

3)accuracy=length(find(predict_label==test_label))/length(test_label)*100;%精确度判断

4)  post=posterior(nb,test_data);%nb为分类器,这个分类器也可以用其他拟合方式,如:gmdistribution.fit

         %test_data,测试数据,行数为数据点数,列数为维数;

        %post:  post(i,j)表示第i个数据点,属于类型j的概率;

                    


举例:文献’Discriminative Blur Detection Features'中:

         post=posterior(nb,data);

        post=mat2gray(post(:,2));

              %post的第二列为清晰类的概率,概率小的(即模糊部分)转换的灰度暗,概率大的灰度亮;

      feature(size(图像行,图像列))=reshape(post,图像行,图像列);



0 0