Time series clustering#

The sktime.clustering module contains algorithms for time series clustering.

All clusterers in sktime can be listed using the sktime.registry.all_estimators utility, using estimator_types="clusterer", optionally filtered by tags. Valid tags can be listed using sktime.registry.all_tags.

A full table with tag based search is also available on the Estimator Search Page (select “clustering” in the “Estimator type” dropdown).

Partitioning based#

TimeSeriesKMeans([n_clusters, ...])

Time series K-mean implementation.

TimeSeriesKMeansTslearn([n_clusters, ...])

K-means clustering for time-series data, from tslearn.

TimeSeriesKMedoids([n_clusters, ...])

Time series K-medoids implementation.

TimeSeriesKShapes([n_clusters, ...])

K-shape clustering for time series, from tslearn.

Spectral and kernel clustering#

TimeSeriesKernelKMeans([n_clusters, kernel, ...])

Kernel k-means clustering, from tslearn.

Density-based#

TimeSeriesDBSCAN(distance[, eps, ...])

DBSCAN for time series distances.

Graph- or network-based#

TimeSeriesKvisibility([n_clusters, init, n_init])

Kvisibility for time series clustering.

Spatio-temporal clustering#

Spatio-temporal clusterers assume that the time series are, or include, observations of locations in space.

STDBSCAN([eps1, eps2, min_samples, metric, ...])

Spatio-temporal DBSCAN clustering.

Base#

BaseClusterer([n_clusters])

Abstract base class for time series clusterer.

BaseTimeSeriesLloyds([n_clusters, ...])

Abstract class that implements time series Lloyds algorithm.