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

4 次查看(过去 30 天)
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);

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by