时间序列数据聚类方法python代码(k-means)
import numpy
import matplotlib.pyplot as plt
from tslearn.clustering import TimeSeriesKMeans
from tslearn.datasets import CachedDatasets
from tslearn.preprocessing import TimeSeriesScalerMeanVariance, TimeSeriesResampler
seed = 0
numpy.random.seed(seed)
X_train, y_train, X_test, y_test = CachedDatasets().load_dataset(“Trace”)
X_train = X_train[y_train < 4] # Keep first 3 classes
numpy.random.shuffle(X_train)
X_train = TimeSeriesScalerMeanVariance().fit_transform(X_train[:50]) # Keep only 50 time series
X_train = TimeSeriesResampler(sz=40).fit_transform(X_train) # Make time series shorter
sz = X_train.shape[1]
Euclidean k-means
print(“Euclidean k-means”)
km = TimeSeriesKMeans(n_clusters=3, verbos