How can I turn off the automatic plotting when using bayesopt

10 vues (au cours des 30 derniers jours)
Shichao Zhou
Shichao Zhou le 25 Déc 2018
Commenté : Shichao Zhou le 26 Déc 2018
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"?

Réponse acceptée

Stephan
Stephan le 25 Déc 2018
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 commentaire
Shichao Zhou
Shichao Zhou le 26 Déc 2018
Thank you very much. I didn't read the document carefully. I noticed "Verbose" but missed "PlotFcn". Thank you again for your help..

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by