ENH: More advanced Optimizers
One very good suggestions from @angqvist is to have an ensemble-optimizer.
This is a separate optimizer class which internally uses the Optimizer
.
-
EnsembleOptimizer
-
train()
(runs ensemble fitting) -
get_parameters_set()
(list of all obtained parameters) -
get_parameters_std()
(standard deviation for each parameter) -
get_error_matrix()
(error for each row for each fit, would help find outliers or bad data?)
-
DEMO
Added EnsembleOptimizer
into ensemble.py
in hiphive/fitting.
Added simple test in tests/fitting.
Usage in python
eopt = EnsembleOptimizer(fit_data, train_fraction=0.8)
eopt.train()
eopt.get_error_matrix() # error for each fit_row and for each fit
eopt.parameters_set # parameters set
eopt.get_parameters_std() # standard deviation for each parameter
eopt.parameters # final averaged parameters
Edited by Mattias Ångqvist