TimeSeriesKernelKMeans
Kernel k-means clustering, from tslearn.
Quickstart
from sktime.clustering.kernel_k_means import TimeSeriesKernelKMeans
estimator = TimeSeriesKernelKMeans(n_clusters: int=8, kernel: str='gak', n_init: int=10, max_iter: int=300, tol: float=0.0001, kernel_params: dict | None=None, verbose: bool=False, n_jobs: int | None=None, random_state: int | RandomState=None)Parameters(9)
- n_clusters: int, defaults = 8
- The number of clusters to form as well as the number of centroids to generate.
- kernelstring, or callable (default: “gak”)
The kernel should either be “gak”, in which case the Global Alignment Kernel from [2]_ is used or a value that is accepted as a metric by scikit-learn’s pairwise_kernels
- n_init: int, defaults = 10
- Number of times the k-means algorithm will be run with different centroid seeds. The final result will be the best output of n_init consecutive runs in terms of inertia.
- kernel_paramsdict or None (default: None)
Kernel parameters to be passed to the kernel function. None means no kernel parameter is set. For Global Alignment Kernel, the only parameter of interest is
sigma. If set to ‘auto’, it is computed based on a sampling of the training set (cf tslearn.metrics.sigma_gak). If no specific value is set forsigma, its defaults to 1.- max_iter: int, defaults = 300
- Maximum number of iterations of the k-means algorithm for a single run.
- tol: float, defaults = 1e-4
- Relative tolerance with regards to Frobenius norm of the difference in the cluster centers of two consecutive iterations to declare convergence.
- verbose: bool, defaults = False
- Verbosity mode.
- n_jobsint or None, optional (default=None)
The number of jobs to run in parallel for GAK cross-similarity matrix computations.
Nonemeans 1 unless in ajoblib.parallel_backendcontext.-1means using all processors. See scikit-learns’ Glossary for more details.- random_state: int or np.random.RandomState instance or None, defaults = None
- Determines random number generation for centroid initialization.
Examples
>>> from sktime.clustering.kernel_k_means import TimeSeriesKernelKMeans
>>> from sktime.datasets import load_arrow_head
>>> X_train, y_train = load_arrow_head (split = "train")
>>> X_test, y_test = load_arrow_head (split = "test")
>>> clusterer = TimeSeriesKernelKMeans (n_clusters = 3)
>>> clusterer. fit (X_train) TimeSeriesKernelKMeans(n_clusters=3)
>>> y_pred = clusterer. predict (X_test)