leaspy.models.generic_model module
- class GenericModel(name: str, **kwargs)
Bases:
ABC
Generic model (temporary until
AbstractModel
is really abstract).TODO: change naming after AbstractModel was renamed?
- Parameters
- namestr
Name of the model
- **kwargs
Hyperparameters of the model
- Attributes
- namestr
Name of the model
- is_initializedbool
Is the model initialized?
- featureslist[str]
List of model features (None if not initialization)
- dimensionint (read-only)
Number of features
- parametersdict
Contains internal parameters of the model
Methods
compute_individual_trajectory
(timepoints, ...)Compute scores values at the given time-point(s) given a subject's individual parameters.
get_hyperparameters
(*[, with_features, ...])Get all model hyperparameters
Check all model hyperparameters are ok
initialize
(dataset[, method])Initialize the model given a dataset and an initialization method.
load_hyperparameters
(hyperparameters, *[, ...])Load model hyperparameters from a dict
load_parameters
(parameters, *[, list_converter])Instantiate or update the model's parameters.
save
(path, **kwargs)Save Leaspy object as json model parameter file.
validate_compatibility_of_dataset
(dataset)Raise if the given dataset is not compatible with the current model.
- abstract compute_individual_trajectory(timepoints, individual_parameters: dict) Tensor
Compute scores values at the given time-point(s) given a subject’s individual parameters.
- Parameters
- timepointsscalar or array_like[scalar] (list, tuple,
numpy.ndarray
) Contains the age(s) of the subject.
- individual_parametersdict[str, Any]
Contains the individual parameters. Each individual parameter should be a scalar or array_like
- timepointsscalar or array_like[scalar] (list, tuple,
- Returns
torch.Tensor
Contains the subject’s scores computed at the given age(s) Shape of tensor is (1, n_tpts, n_features)
- get_hyperparameters(*, with_features=True, with_properties=True, default=None) Dict[str, Any]
Get all model hyperparameters
- Parameters
- with_features, with_propertiesbool (default True)
Whether to include features and respectively all _properties (i.e. _dynamic_ hyperparameters) in the returned dictionary
- defaultAny
Default value is something is an hyperparameter is missing (should not!)
- Returns
- dict { hyperparam_namestr -> hyperparam_valueAny }
- initialize(dataset: Dataset, method: str = None)
Initialize the model given a dataset and an initialization method.
After calling this method
is_initialized
should be True and model should be ready for use.- Parameters
- dataset
Dataset
The dataset we want to initialize from.
- methodstr, optional (default None)
A custom method to initialize the model
- dataset
- load_hyperparameters(hyperparameters: Dict[str, Any], *, with_defaults: bool = False) None
Load model hyperparameters from a dict
- Parameters
- hyperparametersdict[str, Any]
Contains the model’s hyperparameters
- with_defaultsbool (default False)
If true, it also resets hyperparameters that are part of the model but not included in hyperparameters to their default value.
- Raises
LeaspyModelInputError
if inconsistent hyperparameters
- load_parameters(parameters, *, list_converter=<built-in function array>) None
Instantiate or update the model’s parameters.
- Parameters
- parametersdict
Contains the model’s parameters.
- list_convertercallable
The function to convert list objects.
- save(path: str, **kwargs)
Save Leaspy object as json model parameter file.
Default save method: it can be overwritten in child class but should be generic…
- Parameters
- pathstr
Path to store the model’s parameters.
- **kwargs
Keyword arguments for json.dump method.
- validate_compatibility_of_dataset(dataset: Dataset)
Raise if the given dataset is not compatible with the current model.
- Parameters
- dataset
Dataset
The dataset we want to model.
- dataset
- Raises
LeaspyDataInputError
If and only if data is incompatible with model.