How can I change the properties of a classification model template?

2 views (last 30 days)
I want to programmatically change the properties of an existing classification model template. This would be useful in a parameter tuning task.
% for example lets create an SVM template
modelTemplate = templateSVM('KernelFunction', 'linear', 'KernelScale', 1,'BoxConstraint', 1, 'Standardize', 0);
disp(modelTemplate) % it is possible to see the properties in the command window
modelTemplate.BoxConstraint = 100; %but if I am trying to read or change one of the properties I get the following messages:
No public property BoxConstraint exists for class classreg.learning.FitTemplate.
Error in classreg.learning.internal.DisallowVectorOps/subsasgn (line 33) [varargout{1:nargout}] = builtin('subsasgn',this,s,data);
No appropriate method, property, or field 'BoxConstraint' for class 'classreg.learning.FitTemplate'.
Error in classreg.learning.internal.DisallowVectorOps/subsref (line 21) [varargout{1:nargout}] = builtin('subsref',this,s);

Accepted Answer

Ilya on 15 Jun 2016
modelTemplate.ModelParams.BoxConstraint = 100;
This is undocumented and can change in a future release.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!