How to change the default range of hyperparameters in fitcecoc function?
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
Don Mathis
2021-7-26
Walter Roberson's answer is correct. And then you pass 'params' as the value of the 'OptimizeHyperparameters' parameter.
采纳的回答
Walter Roberson
2021-7-26
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 个评论
Walter Roberson
2021-8-1
I think you should be able to do
params(4).Range = {'gaussian', 'polynomial'};
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Classification Ensembles 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!