Get best hyperparameters for ionosphere data using fitcecoc & bayesopt. but i am getting error optimizableVariable.

2 views (last 30 days)
load ionosphere
box = optimizableVariable('box',[1e-4,1e3],'Type','real','Transform','log');
kern = optimizableVariable('kern',[1e-4,1e3],'Type','real','Transform','log');
vars = [box,kern];
t = templateSVM('Standardize',true,'KernelFunction','gaussian','kernelscale',vars.kern ,'boxconstraint', vars.box);
fun = @(vars)kfoldLoss(fitcecoc(X,Y,'Learners',t,'FitPosterior',true,...
'ClassNames',{'g','b'},...
'Verbose',2,'Kfold',5));
results = bayesopt(fun,vars,'UseParallel',true);
The error coming is shown below:
No appropriate method, property, or field 'kern' for class 'optimizableVariable'.

Accepted Answer

Alan Weiss
Alan Weiss on 20 Mar 2022
I do not understand why you are attempting to use fitcecoc with a 2-class model. Try this instead:
load ionosphere
mdl = fitcsvm(X,Y,"OptimizeHyperparameters","auto") % The auto parameters are box and kernel scale
Alan Weiss
MATLAB mathematical toolbox documentation

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by