How can I turn off the automatic plotting when using bayesopt

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"?

 Respuesta aceptada

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 comentario

Thank you very much. I didn't read the document carefully. I noticed "Verbose" but missed "PlotFcn". Thank you again for your help..

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2017b

Preguntada:

el 25 de Dic. de 2018

Comentada:

el 26 de Dic. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by