Object and estimator tags#

Every first-class object in skpro is tagged with a set of tags that describe its properties and capabilities, or control its behavior.

Tags are key-value pairs, where the key is a string with the name of the tag. The value of the tag can have arbitrary type, and describes a property, capability, or controls behaviour of the object, depending on the tag.

For instance, a probabilistic regressor has the tag "capability:survival": True if it can use censoring information for survival analysis. Users can find all regressors with this capability by filtering for this tag.

This API reference lists all tags available in skpro, and key utilities for their usage.

Inspecting tags, retrieving by tags#

Tags can be inspected at runtime using the following utilities:

  • to get the tags of an object, use the get_tags method. An object’s tags can depend on its hyper-parameters.

  • to get the tags of a class, use the get_class_tags method of the class. A class’s tags are static and do not depend on its hyper-parameters. By default, class tags that may vary for instances take the most “capable” value, in the case of capabilities.

  • to programmatically retrieve all tags available in skpro or for a particular type of object, at runtime, use the registry.all_tags utility.

all_tags([object_types, as_dataframe])

Get a list of all tags from skpro.

all_objects([object_types, filter_tags, ...])

Get a list of all objects from skpro.

General tags, packaging#

This section lists tags that are general and apply to all objects in skpro. These tags are typically used for typing, packaging and documentation purposes.

object_type

Type of object, e.g., 'regressor', 'transformer'.

estimator_type

Type of estimator, e.g., 'regressor', 'transformer'.

reserved_params

List of reserved parameter names.

maintainers

List of current maintainers of the object.

authors

List of authors of the object.

python_version

Python version specifier (PEP 440).

python_dependencies

Python dependencies of estimator.

python_dependencies_alias

Import name aliases for dependencies.

license_type

License type for interfaced packages.

Probabilistic regressor tags#

This section lists tags applying to probabilistic regressors ("regressor_proba" type). These tags are used to describe capabilities, properties, and behavior of probabilistic regressors.

capability__survival

Capability for survival analysis.

capability__multioutput

Support for multioutput regression.

capability__missing

Support for missing values.

capability__update

Support for online updates.

X_inner_mtype

Internal X machine type.

y_inner_mtype

Internal y machine type.

C_inner_mtype

Internal censoring machine type.

Distribution tags#

This section lists tags applying to probability distributions ("distribution" type). These tags are used to describe capabilities, properties, and behavior of distributions.

capabilities__approx

Approximate methods of distribution.

capabilities__exact

Numerically exact methods of distribution.

capabilities__undefined

Methods of distr that are mathematically undefined.

distr__measuretype

Measure type of distribution.

distr__paramtype

Parametrization type of distribution.

approx_mean_spl

Sample size for MC mean estimates.

approx_var_spl

Sample size for MC variance estimates.

approx_energy_spl

Sample size for MC energy estimates.

approx_spl

Sample size for other MC estimates.

bisect_iter

Max iterations for bisection method.

broadcast_params

Parameters to broadcast.

broadcast_init

Whether to initialize broadcast parameters.

broadcast_inner

Inner logic vectorization type.

Metric tags#

This section lists tags applying to probabilistic metrics ("metric" type).

scitype__y_pred

Expected input type for y_pred.

lower_is_better

Direction of metric optimization.

capability__survival

Capability for survival analysis.

Meta-object tags#

Tags relating to meta-object composition (pipelines, ensembles, etc.).

named_object_parameters

Component list attribute name.

fitted_named_object_parameters

Fitted component list attribute name.

Testing and CI tags#

These tags control behaviour of objects in skpro continuous integration tests.

They are primarily useful for developers managing CI behaviour of individual objects.

tests__libs

Library dependencies required for tests.

tests__vm

Whether tests require their own VM.

tests__skip_by_name

Test names to skip on CI.

tests__python_dependencies

Additional dependencies for tests.