How can I turn off the automatic plotting when using bayesopt

10 次查看(过去 30 天)
I used the bayesopt to help me obtain proper hyperparameters of SVM. However, since many different SVMs are needed, the bayesopt is called in a loop, like
for i = 1 : N
...
results = bayesopt(minfn,[sigma,box],'IsObjectiveDeterministic',true,...
'AcquisitionFunctionName','expected-improvement-plus', 'Verbose',0);
...
end
Thus the automatic plotting by the function baysopt is undesirable. And I also think it made the run time of the code longer, did it?
I have faild to find any input argument to handle this. Here I paste the code fragment in BayesianOptimization that is related:
function this = runSerial(this)
...
this = callPlotFcn(this, 'initial');
...
while ~optimizationFinished(this, iteration)
% Maybe print verbose line
...
% Do a function evaluation and record results
...
% Choose next point
% Update timing, plots and output
end
...
this = callPlotFcn(this, 'done');
...
end
Can I just prevent the Class from calling "callPlotFcn"?

采纳的回答

Stephan
Stephan 2018-12-25
Hi,
see this link to change the behavior of plot. For your purpose:
'PlotFcn', []
should work.
See also the Verbose option to get rid of the text messages / tables.
Best regards
Stephan
  1 个评论
Shichao Zhou
Shichao Zhou 2018-12-26
Thank you very much. I didn't read the document carefully. I noticed "Verbose" but missed "PlotFcn". Thank you again for your help..

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Model Building and Assessment 的更多信息

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by