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

4 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
Ilya on 15 Jun 2016
modelTemplate.ModelParams.BoxConstraint = 100;
This is undocumented and can change in a future release.

More Answers (0)

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!