Producing an error vector with a loop
    2 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Tamir Basin
 il 1 Gen 2015
  
    
    
    
    
    Commentato: Tamir Basin
 il 1 Gen 2015
            I need a loop that varies the 'MinLeaf' value from 200-2000 in steps of 10. All errors should go into one vector called 'LogLike_Error_Vector". Thanks Tamir
Num = xlsread('Data_Class_2015_Student_13.xlsx');
Y = Num(:,end); Y(1)=[];
X = Num(:,1:end-1); X(1,:)=[];
ly = length(Y);
i0 = Y==0;  
i1 = Y==1;  
im = Y<0;   
rand('seed',123)
rnd = rand(ly,1);
iData=rnd>=0 & ~im; 
XX = X;
t4=fitrtree(XX(iData,:),Y(iData),'MinLeaf',400);
view(t4,'mode','graph')
t2=prune(t4,'level', 15);
DT = predict(t2,XX);
LogLike_DT_Data = LogLikelihood(DT(iData),Y(iData))/sum(iData)
0 Commenti
Risposta accettata
  Shoaibur Rahman
      
 il 1 Gen 2015
        Where is your LogLike_Error_Vector? Is it LogLike_DT_Data? If so, you can try using a for loop:
indx = 0;
for MinLeaf = 200:10:2000
    indx = indx + 1;
    t4=fitrtree(XX(iData,:),Y(iData),'MinLeaf', MinLeaf );
    view(t4,'mode','graph') % you can skip this, if not needed
    t2=prune(t4,'level', 15);
    DT = predict(t2,XX);
    LogLike_DT_Data(indx) = LogLikelihood(DT(iData),Y(iData))/sum(iData)
end
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Parallel for-Loops (parfor) in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

