parzenwindowdensityestimator.m

来自「pazen window分类器」· M 代码 · 共 62 行

M
62
字号
function [estimatedDensity] = parzenWindowDensityEstimator(trainingData,testingData,windowWidth);



[m,n]=size(trainingData);
trainingdata=trainingData(1:m,1:n-1);

numoffeature=n-1;

[p,q]=size(testingData);
testingdata=testingData(1:p,1:q-1);

%Class=trainingData(:,end);

trainingdataofclass1=trainingdata(find(trainingData(:,3)==0),1:2);
trainingdataofclass2=trainingdata(find(trainingData(:,3)==1),1:2);

[m1,m2]=size(trainingdataofclass1);
[n1,n2]=size(trainingdataofclass2);




varofclass1=zeros(2,2);
varofclass2=zeros(2,2);

for i=1:2

varofclass1(i,i)=var(trainingdataofclass1(:,i));
varofclass2(i,i)=var(trainingdataofclass2(:,i));
end


estimatedDensity=zeros(p,2);

for i=1:p
    
    x=testingdata(i,1:2)

       
        xM=ones(m1,1)*x;
       xN=xM-trainingdataofclass1;
       for j=1:2
            xN(abs(xN(:,j))>windowWidth, j) = 1000000; 
        end
       
       estimatedDensity(i,1)=mean((1/(windowWidth^2))*mvnpdf((xN/windowWidth),zeros(1,2),varofclass1));
   end
   
   for i=1:p
    
    x=testingdata(i,1:2);

       
        xM=ones(n1,1)*x;
       xN=xM-trainingdataofclass2;
       for j=1:2
            xN(abs(xN(:,j))>windowWidth, j) = 1000000; 
        end
       
       estimatedDensity(i,2)=mean((1/(windowWidth^2))*mvnpdf((xN/windowWidth),zeros(1,2),varofclass2));
   end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?