Producing an error vector with a loop
    2 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Tamir Basin
 el 1 de En. de 2015
  
    
    
    
    
    Comentada: Tamir Basin
 el 1 de En. de 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 comentarios
Respuesta aceptada
  Shoaibur Rahman
      
 el 1 de En. de 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
Más respuestas (0)
Ver también
Categorías
				Más información sobre Parallel for-Loops (parfor) en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

