⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 freqan.m

📁 A Simple Fuzzy Classifier based on Inconsistency Analysis of Labeled Data
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% "Fuzzy" model based on freq. analysis
% J. Abonyi and Hans Roubos (TU Delft)
% Dept. of Process Engineering
% University of Veszprem, Hungary
% abonyij@fmt.vein.hu 
% www.vein.hu/~abonyij
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%______________________________________
%Load the data
clear all
close all
rand('state',0); 						%Training data
train=load('ticdata2000.txt');
out=train(:,end);
N=length(train);
test=load('ticeval2000.txt'); 	%Test data
tout=load('tictgts2000.txt');
Nt=length(test);
%Features  
%feat=[5 16 47 51 59]; 
feat=[16 47 59]; 
%
%feat=1:85;
nf	=length(feat);
train=[train(:,feat)];
test=[test(:,feat)];
%Model structure
Model=zeros(nf,45);
score=ones(size(out));
tscore=ones(size(tout));
%_______________________________
%Main
for fi=1:nf 
   %Calculation of the freq. 
	val=min(train(:,fi)):max(train(:,fi)); 
   nv=length(val);
   dim=zeros(nv,1);
   for i=1:nv
      index=find(train(:,fi)==val(i));
      if isempty(index)
         dim(i)=0;
       else
          dim(i)=sum(out(index))/size(index,1);
       end
    end
    dim=dim/(max(dim)); %normalization of the mem. functions
    %application of the model
	   for i=1:nv
	      index=find(train(:,fi)==val(i));
   	   score(index)=score(index)*dim(i);
      	index=find(test(:,fi)==val(i));
	      tscore(index)=tscore(index)*dim(i);
	   end
    %save the model parameters
    Model(fi,1)=min(val);
	 Model(fi,2)=max(val);
    for i=1:length(dim)
      Model(fi,i+2)=dim(i);
	 end	   
 	   subplot(2,ceil(nf/2),fi);
   	plot(val,dim);
	   ylabel(feat(fi));
   	axis([min(train(:,fi)) max(train(:,fi)) min(dim) max(dim)])
end

[c, inds]=sort(-score); %-
Nc=round(length(out)*0.2);
inds=inds(1:Nc);
err=sum(out(inds))/Nc*100
sel=sum(out(inds))

[c, inds]=sort(-tscore); %-
inds=inds(1:800);
terr=sum(tout(inds))/800*100
tsel=sum(tout(inds))


save Model Model
save feat feat

⌨️ 快捷键说明

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