culebra.tools.Evaluation class¶
- class Evaluation(trainer: Trainer, untie_best_fitness_function: FitnessFunction | None = None, test_fitness_function: FitnessFunction | None = None, results_base_filename: str | None = None, hyperparameters: dict | None = None)¶
Bases:
BaseSet a trainer evaluation.
- Parameters:
trainer (Trainer) – The trainer method
untie_best_fitness_function (FitnessFunction) – The fitness function used to select the best solution from those found by the trainer in case of a tie. If omitted, the training fitness function will be used. Defaults to
Nonetest_fitness_function (FitnessFunction) – The fitness function used to test. If omitted, the training fitness function will be used. Defaults to
Noneresults_base_filename (str) – The base filename to save the results. If omitted,
_default_results_base_filenameis used. Defaults toNonehyperparameters (dict) – Hyperparameter values used in this evaluation, optional
- Raises:
TypeError – If trainer is not a valid trainer
TypeError – If test_fitness_function is not a valid fitness function
TypeError – If results_base_filename is not a valid file name
TypeError – If hyperparameters is not a dictionary
ValueError – If the keys in hyperparameters are not strings
ValueError – If any key in hyperparameters is reserved
Class attributes¶
- Evaluation.feature_metric_functions = {'Rank': <function Metrics.rank>, 'Relevance': <function Metrics.relevance>}¶
Metrics calculated for the features in the set of solutions.
- Evaluation.stats_functions = {'Avg': <function mean>, 'Max': <function max>, 'Min': <function min>, 'Std': <function std>}¶
Statistics calculated for the solutions.
Class methods¶
- classmethod Evaluation.from_config(config_script_filename: str | None = None) Evaluation¶
Generate a new evaluation from a configuration file.
- Parameters:
config_script_filename (str) – Path to the configuration file. If omitted,
DEFAULT_CONFIG_SCRIPT_FILENAMEis used. Defaults toNone- Raises:
RuntimeError – If config_script_filename is an invalid file path or an invalid configuration file
- classmethod Evaluation.generate_run_script(config_filename: str | None = None, run_script_filename: str | None = None) None¶
Generate a script to run an evaluation.
The parameters for the evaluation are taken from a configuration file.
- Parameters:
config_filename (str) – Path to the configuration file. It can be whether a configuration script or a serialized
Evaluationinstance. If omitted,DEFAULT_CONFIG_SCRIPT_FILENAMEis used. Defaults toNonerun_script_filename (str) – File path to store the run script. If omitted,
DEFAULT_RUN_SCRIPT_FILENAMEis used. Defaults toNone
- Raises:
TypeError – If config_filename or run_script_filename are not a valid filename
ValueError – If the extensions of config_filename or run_script_filename are not valid
- classmethod Evaluation.load(filename: str) Base¶
Load a serialized object from a file.
- Parameters:
filename (str) – The file name.
- Returns:
The loaded object
- Raises:
TypeError – If filename is not a valid file name
ValueError – If the filename extension is not
SERIALIZED_FILE_EXTENSION
Properties¶
- property Evaluation.excel_results_filename: str¶
Filename used to save the results in Excel format.
- Return type:
- property Evaluation.hyperparameters: dict | None¶
Hyperparameter values used for the evaluation.
- Return type:
- Setter:
Set the hyperparameter values used for the evaluation
- Parameters:
values (dict) – Hyperparameter values used in this evaluation
- Raises:
TypeError – If values is not a dictionary
ValueError – If the keys in values are not strings
ValueError – If any key in values is reserved
- property Evaluation.results_base_filename: str | None¶
Results base filename.
- Return type:
- Setter:
Set a new results base filename.
- Parameters:
filename (str) – New results base filename. If set to
None,_default_results_base_filenameis used- Raises:
TypeError – If filename is not a valid file name
- property Evaluation.serialized_results_filename: str¶
Filename used to save the serialized results.
- Return type:
- property Evaluation.test_fitness_function: FitnessFunction | None¶
Test fitness function.
- Return type:
- Setter:
Set a new test fitness function.
- Parameters:
func (FitnessFunction) – New test fitness function. If set to
None, the training fitness function will also be used for testing- Raises:
TypeError – If func is not a valid fitness function
- property Evaluation.untie_best_fitness_function: FitnessFunction | None¶
Fitness function to untie the best solutions.
- Return type:
- Setter:
Set a new fitness function to untie the best solutions
- Parameters:
func (FitnessFunction) – New untie fitness function. If set to
Noneand several tied solutions are found by the trainer, the first of them will be returned- Raises:
TypeError – If func is not a valid fitness function
Private properties¶
Methods¶
- Evaluation.dump(filename: str) None¶
Serialize this object and save it to a file.
- Parameters:
filename (str) – The file name.
- Raises:
TypeError – If filename is not a valid file name
ValueError – If the filename extension is not
SERIALIZED_FILE_EXTENSION

