descriptor_scoring_optimizer

Base class for ACSD, mutual information and related methods.

class DescriptorScoringOptimizer(params: Parameters, data=None, use_pkl_checkpoints=False)[source]

Bases: HyperOpt, ABC

Base class for all training-free descriptor hyperparameter optimizers.

These optimizer use alternative metrics ACSD, mutual information, etc. to tune descriptor hyperparameters.

Parameters:
  • params (mala.common.parametes.Parameters) – Parameters used to create this hyperparameter optimizer.

  • descriptor_calculator (mala.descriptors.descriptor.Descriptor) – The descriptor calculator used for parsing/converting fingerprint data. If None, the descriptor calculator will be created by this object using the parameters provided. Default: None

  • target_calculator (mala.targets.target.Target) – Target calculator used for parsing/converting target data. If None, the target calculator will be created by this object using the parameters provided. Default: None

best_score

Score associated with best-performing trial.

Type:

float

best_trial_index

Index of best-performing trial

Type:

int

add_hyperparameter(name, choices)[source]

Add a hyperparameter to the current investigation.

Parameters:
  • name (string) – Name of the hyperparameter. Please note that these names always have to be the same as the parameter names in ParametersDescriptors.

  • choices – List of possible choices.

add_snapshot(descriptor_input_type=None, descriptor_input_path=None, target_input_type=None, target_input_path=None, descriptor_units=None, target_units=None)[source]

Add a snapshot to be processed.

Parameters:
  • descriptor_input_type (string) – Type of descriptor data to be processed. See mala.datahandling.data_converter.descriptor_input_types for options.

  • descriptor_input_path (string) – Path of descriptor data to be processed.

  • target_input_type (string) – Type of target data to be processed. See mala.datahandling.data_converter.target_input_types for options.

  • target_input_path (string) – Path of target data to be processed.

  • descriptor_units (string) – Units for descriptor data processing.

  • target_units (string) – Units for target data processing.

perform_study(file_based_communication=False, return_plotting=False)[source]

Perform the study, i.e. the optimization.

This is done by sampling different descriptors, calculated with different hyperparameters and then calculating some surrogate score.

set_optimal_parameters()[source]

Set optimal parameters.

This function will write the determined hyperparameters directly to MALA parameters object referenced in this class.