Object and estimator tags#

Every first-class object in sktime 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 value.

For instance, a forecaster may have the tag "capability:pred_int": True if it can make probabilistic predictions. Users can find all forecasters that can make probabilistic predictions by filtering for this tag.

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

To search estimators by tags on the sktime webpage, use the Estimator Search Page

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 sktime or for a particular type of object, at runtime, use the registry.all_tags utility

  • to programmatically retrieve all objects or estimators in sktime, filtered for values of tags, use the registry.all_estimators utility

all_tags([estimator_types, as_dataframe])

List all tags in sktime, for objects of a certain type.

all_estimators([estimator_types, ...])

List all estimators or objects in sktime, by scitype or tag.

General tags, packaging#

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

object_type

Scientific type of the object.

maintainers

Current maintainers of the object, GitHub IDs.

authors

Authors of the object, GitHub IDs.

python_version

Python version requirement specifier for the object (PEP 440).

python_dependencies

Python package dependency requirement specifiers for the object (PEP 440).

env_marker

Environment marker requirement for the object (PEP 508).

requires_cython

Whether the object requires a C compiler present, such as libomp, gcc.

Forecaster tags#

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

capability__exogeneous

Capability: the forecaster can use exogeneous data.

capability__insample

Capability: the forecaster can make in-sample predictions.

capability__pred_int

Capability: the forecaster can make probabilistic or interval forecasts.

capability__pred_int__insample

Capability: the forecaster can make in-sample probabilistic forecasts.

capability__missing_values

Capability: the estimator can handle missing data, e.g,, NaNs.

capability__categorical_in_X

Capability: If estimator can handle categorical natively in exogeneous(X) data.

requires_fh_in_fit

Behaviour flag: forecaster requires forecasting horizon in fit.

fit_is_empty

Property: Whether the estimator has an empty fit method.

Tags for classifiers, regressors, clustering#

This section lists tags applying to time series classifiers, regressors, and clusterers ("classifier", "regressor", "clusterer" types). These tags are used to describe capabilities, properties, and behavior of these types of objects.

capability__multivariate

Capability: the estimator can handle multivariate time series.

capability__multioutput

Capability: the estimator can handle multi-output time series.

capability__missing_values

Capability: the estimator can handle missing data, e.g,, NaNs.

capability__unequal_length

Capability: the estimator can handle unequal length time series.

capability__predict_proba

Capability: the estimator can make probabilistic predictions.

capability__feature_importance

Capability: the estimator can provide feature importance.

capability__contractable

Capability: the estimator can be asked to satisfy a maximum time contract.

capability__train_estimate

Capability: the algorithm can estimate its performance on the training set.

Tags for ordinary transformers#

This section lists tags applying to ordinary transformers, i.e., objects that transform a single time series object ("transformer" type).

scitype__transform_input

The scitype of the input data for the transformer.

scitype__transform_output

The scitype of the input data for the transformer.

scitype__transform_labels

The scitype of the target data for the transformer, if required.

requires_x

Behaviour flag: transformer requires X in fit and transform.

requires_y

Behaviour flag: transformer requires y in fit.

capability__missing_values

Capability: the estimator can handle missing data, e.g,, NaNs.

capability__unequal_length

Capability: the estimator can handle unequal length time series.

capability__inverse_transform

Capability: the transformer can carry out an inverse transform.

capability__inverse_transform__exact

Capability: whether the inverse transform is an exact inverse to the transform.

capability__inverse_transform__range

Capability: the domain of invertibility of the transform.

fit_is_empty

Property: Whether the estimator has an empty fit method.

transform_returns_same_time_index

Property: transformer returns same time index as input.

Tags for detectors#

This section lists tags applying to time series detectors ("detector" types). These tags are used to describe capabilities, properties, and behavior of detectors.

task

Subtype tag for detectors: type of detection task.

learning_type

Learning type of the detection task.

capability__update

Capability: whether the estimator can be run in stream or on-line mode.

capability__multivariate

Capability: the estimator can handle multivariate time series.

capability__missing_values

Capability: the estimator can handle missing data, e.g,, NaNs.

Common developer tags#

This section lists tags that are used to control internal behaviour of objects, e.g., the boilerplate layer.

These are primarily useful for power users using the extension templates to create sktime compatible objects.

The tags below have limited use in retrieval or inspection of objects.

x_inner_mtype

The machine type(s) the transformer can deal with internally for X.

y_inner_mtype

The machine type(s) the transformer can deal with internally for y.

visual_block_kind

How to display html representation of a meta-estimator in a jupyter notebook.