Hyper-parameter optimization
    8 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Elena Casiraghi
      
 el 21 de Sept. de 2019
  
    
    
    
    
    Respondida: Elena Casiraghi
      
 el 24 de Sept. de 2019
            1) When training an ECOC classifier for multiclass classification, with knn as base learner, how can I change the minimized function (from the classification error to a loss function I want to define)?
I'm now using this code (where the loss function is in the last line of code). If Preds are the predicted classes, labels are the true classes, N is the numebr of sample, my loss is:
myLoss = double(sum(abs(resPreds - labels)))/double(N); % this is the loss function I wish to minimize
% variable labels contains the labels of training data 
tknn = templateKNN('Distance', @distKNN); % I WOULD LIKE TO USE THIS DISTANCE
N = size(XKnn,1);
c = cvpartition(N,'LeaveOut');
% Use leave one out 
mdlknnCecoc =  fitcecoc(XKnn,labelsRed, ...
                    'OptimizeHyperparameters','auto', ...
                    'HyperparameterOptimizationOptions',struct( 'UseParallel',...
                        true,'CVPartition',c),  'Learners',tknn);
resPreds = predict(mdlknnCecoc, XKnn); % I don't know why kfoldPredict function does not work
myLoss = double(sum(abs(resPreds - labels)))/double(N); % this is the loss function I wish to minimize
2 comentarios
  Don Mathis
    
 el 23 de Sept. de 2019
				Is it important for you to use ECOC for this? fitcknn directly supports multiclass problems.
Respuesta aceptada
Más respuestas (0)
Ver también
Categorías
				Más información sobre Classification Ensembles en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

