Table Of Contents

Previous topic

clfs.meta

Next topic

clfs.plr

This content refers to the previous stable release of PyMVPA. Please visit www.pymvpa.org for the most recent version of PyMVPA and its documentation.

clfs.model_selector

Module: clfs.model_selector

Inheritance diagram for mvpa.clfs.model_selector:

Model selction.

ModelSelector

class mvpa.clfs.model_selector.ModelSelector(parametric_model, dataset)

Bases: object

Model selection facility.

Select a model among multiple models (i.e., a parametric model, parametrized by a set of hyperparamenters).

max_log_marginal_likelihood(hyp_initial_guess, maxiter=1, optimization_algorithm='scipy_cg', ftol=0.001, fixedHypers=None, use_gradient=False, logscale=False)

Set up the optimization problem in order to maximize the log_marginal_likelihood.

Parameters:
  • parametric_model (Classifier) – the actual parameteric model to be optimized.
  • hyp_initial_guess (numpy.ndarray) – set of hyperparameters’ initial values where to start optimization.
  • optimization_algorithm (string) – actual name of the optimization algorithm. See http://scipy.org/scipy/scikits/wiki/NLP for a comprehensive/updated list of available NLP solvers. (Defaults to ‘ralg’)
  • ftol (float) – threshold for the stopping criterion of the solver, which is mapped in OpenOpt NLP.ftol (Defaults to 1.0e-3)
  • fixedHypers (numpy.ndarray (boolean array)) – boolean vector of the same size of hyp_initial_guess; ‘False’ means that the corresponding hyperparameter must be kept fixed (so not optimized). (Defaults to None, which during means all True)

NOTE: the maximization of log_marginal_likelihood is a non-linear optimization problem (NLP). This fact is confirmed by Dmitrey, author of OpenOpt.

solve(problem=None)

Solve the maximization problem, check outcome and collect results.