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

hyperparameters_ok()

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

Returns
torch.Tensor

Contains the subject’s scores computed at the given age(s) Shape of tensor is (1, n_tpts, n_features)

property dimension: Optional[int]
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 }
hyperparameters_ok() bool

Check all model hyperparameters are ok

Returns
bool
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
datasetDataset

The dataset we want to initialize from.

methodstr, optional (default None)

A custom method to initialize the model

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
datasetDataset

The dataset we want to model.

Raises
LeaspyDataInputError

If and only if data is incompatible with model.