How to change the default range of hyperparameters in fitcecoc function?
6 views (last 30 days)
Show older comments
Machine Learning Enthusiast
on 24 Jul 2021
Commented: Walter Roberson
on 1 Aug 2021
Is it possible to change the default paramater search range of fitcecoc function? I am trying to find the optimal paramters for SVM in custom range to reduce computational time. For example, I am trying to set below range for following parameters.
PolynomialOrder=[2,5]
Any suggestions in this regard would be highly appreciated.
Demo Example:
clc
clear all
load fisheriris
t = templateSVM();
results = fitcecoc(meas, species,'Learners',t,'OptimizeHyperparameters','auto',...
'HyperparameterOptimizationOptions',struct('Optimizer',...
'randomsearch'))
T=results.HyperparameterOptimizationResults
3 Comments
Don Mathis
on 26 Jul 2021
Walter Roberson's answer is correct. And then you pass 'params' as the value of the 'OptimizeHyperparameters' parameter.
Accepted Answer
Walter Roberson
on 26 Jul 2021
Set nondefault parameters by passing a vector of optimizableVariable objects that have nondefault values. For example,
load fisheriris
params = hyperparameters('fitcecoc',meas,species,'svm');
params(2).Range = [1e-4,1e6];
After you created params look at
{params.Name}
to see which variable is which, to know which one to set the Range for.
2 Comments
Walter Roberson
on 1 Aug 2021
I think you should be able to do
params(4).Range = {'gaussian', 'polynomial'};
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!