9#ifndef MODELSELECTION_H
10#define MODELSELECTION_H
24#include "training_strategy.h"
25#include "growing_neurons.h"
26#include "growing_inputs.h"
27#include "pruning_inputs.h"
28#include "genetic_algorithm.h"
104 string write_neurons_selection_method()
const;
105 string write_inputs_selection_method()
const;
108 void save(
const string&)
const;
109 void load(
const string&);
This concrete class represents a genetic algorithm, inspired by the process of natural selection such...
This concrete class represents a growing neurons algorithm for the NeuronsSelection as part of the Mo...
This class represents the concept of model selection algorithm in OpenNN.
const InputsSelectionMethod & get_inputs_selection_method() const
Returns the type of algorithm for the inputs selection.
GrowingInputs * get_growing_inputs_pointer()
Returns a pointer to the growing inputs selection algorithm.
PruningInputs pruning_inputs
Pruning inputs object to be used for inputs selection.
TrainingStrategy * training_strategy_pointer
Pointer to a training strategy object.
NeuronsSelectionMethod
Enumeration of all the available neurons selection algorithms.
void from_XML(const tinyxml2::XMLDocument &)
void set_default()
Sets the members of the model selection object to their default values.
GrowingInputs growing_inputs
Growing inputs object to be used for inputs selection.
ModelSelection()
Default constructor.
void check() const
Checks that the different pointers needed for performing the model selection are not nullptr.
void load(const string &)
NeuronsSelectionResults perform_neurons_selection()
void set_inputs_selection_method(const InputsSelectionMethod &)
GrowingNeurons * get_growing_neurons_pointer()
Returns a pointer to the growing neurons selection algorithm.
bool display
Display messages to screen.
GeneticAlgorithm genetic_algorithm
Genetic algorithm object to be used for inputs selection.
InputsSelectionResults perform_inputs_selection()
const NeuronsSelectionMethod & get_neurons_selection_method() const
Returns the type of algorithm for the neurons selection.
void save(const string &) const
virtual ~ModelSelection()
Destructor.
GrowingNeurons growing_neurons
Growing neurons object to be used for neurons selection.
TrainingStrategy * get_training_strategy_pointer() const
Returns a pointer to the training strategy object.
NeuronsSelectionMethod neurons_selection_method
Type of neurons selection algorithm.
void set(TrainingStrategy *)
InputsSelectionMethod
Enumeration of all the available inputs selection algorithms.
void print() const
Prints to the screen the XML representation of this model selection object.
void set_display(const bool &)
PruningInputs * get_pruning_inputs_pointer()
Returns a pointer to the pruning inputs selection algorithm.
void write_XML(tinyxml2::XMLPrinter &) const
bool has_training_strategy() const
GeneticAlgorithm * get_genetic_algorithm_pointer()
Returns a pointer to the genetic inputs selection algorithm.
InputsSelectionMethod inputs_selection_method
Type of inputs selection algorithm.
void set_neurons_selection_method(const NeuronsSelectionMethod &)
This class represents the concept of training strategy for a neural network in OpenNN.
This structure contains the results from the neurons selection.