tslearn.clustering.KernelKMeans¶
- class tslearn.clustering.KernelKMeans(n_clusters=3, kernel='gak', max_iter=50, tol=1e-06, n_init=1, kernel_params=None, n_jobs=None, verbose=0, random_state=None)[source]¶
核K均值。
- Parameters:
- n_clustersint (default: 3)
要形成的集群数量。
- kernelstring, or callable (default: “gak”)
内核应该是“gak”,在这种情况下使用来自[2]的全局对齐内核,或者是scikit-learn的pairwise_kernels接受的作为度量的值
- max_iterint (default: 50)
单次运行中k-means算法的最大迭代次数。
- tolfloat (default: 1e-6)
惯性变化阈值。如果在某一点上,惯性在两次连续迭代之间的变化小于此阈值,则认为模型已经收敛,算法停止。
- n_initint (default: 1)
k-means算法将使用不同的质心种子运行的次数。最终结果将是n_init次连续运行中惯性最小的最佳输出。
- kernel_paramsdict or None (default: None)
要传递给核函数的核参数。 None 表示没有设置核参数。 对于全局对齐核,唯一感兴趣的参数是 sigma。 如果设置为 'auto',则根据训练集的采样计算 (参见 tslearn.metrics.sigma_gak)。 如果没有为 sigma 设置特定值,则默认为 1。
- n_jobsint or None, optional (default=None)
用于GAK交叉相似矩阵计算的并行作业数。
None表示1,除非在joblib.parallel_backend上下文中。-1表示使用所有处理器。更多详情请参阅scikit-learn的 Glossary。- verboseint (default: 0)
如果非零,将打印joblib进度消息。
- random_stateinteger or numpy.RandomState, optional
用于初始化中心的生成器。如果给定一个整数,它将固定种子。默认为全局的numpy随机数生成器。
- Attributes:
- labels_numpy.ndarray
每个点的标签
- inertia_float
样本到其最近聚类中心的距离之和(使用核技巧计算)。
- sample_weight_numpy.ndarray
从提供的数据中为每个样本分配的权重。
- n_iter_int
在拟合过程中执行的迭代次数。
注释
如果此模型被序列化,训练数据将被保存到磁盘,如果训练数据集很大,可能会导致模型文件很大。
参考文献
[1]核K均值、谱聚类和归一化割。 Inderjit S. Dhillon, Yuqiang Guan, Brian Kulis. KDD 2004.
[2]快速全局对齐核。Marco Cuturi。ICML 2011。
示例
>>> from tslearn.generators import random_walks >>> X = random_walks(n_ts=50, sz=32, d=1) >>> gak_km = KernelKMeans(n_clusters=3, kernel="gak", random_state=0) >>> gak_km.fit(X) KernelKMeans(...) >>> print(numpy.unique(gak_km.labels_)) [0 1 2]
方法
fit(X[, y, sample_weight])计算核k均值聚类。
fit_predict(X[, y])使用X拟合核k均值聚类,然后预测X中每个时间序列所属的最接近的聚类。
from_hdf5(path)从HDF5文件加载模型。
from_json(path)从JSON文件加载模型。
from_pickle(path)从pickle文件加载模型。
获取此对象的元数据路由。
get_params([deep])获取此估计器的参数。
predict(X)预测X中每个时间序列所属的最接近的聚类。
set_fit_request(*[, sample_weight])请求传递给
fit方法的元数据。set_params(**params)设置此估计器的参数。
to_hdf5(path)将模型保存到HDF5文件。
to_json(path)将模型保存为JSON文件。
to_pickle(path)将模型保存到pickle文件中。
- fit(X, y=None, sample_weight=None)[source]¶
计算核k均值聚类。
- Parameters:
- Xarray-like of shape=(n_ts, sz, d)
时间序列数据集。
- y
忽略
- sample_weightarray-like of shape=(n_ts, ) or None (default: None)
在学习过程中给予时间序列的权重。默认情况下,所有时间序列的权重都是相等的。
- fit_predict(X, y=None)[source]¶
使用X拟合核k均值聚类,然后预测X中每个时间序列所属的最接近的聚类。
使用此方法比依次调用 fit 和 predict 更高效。
- Parameters:
- Xarray-like of shape=(n_ts, sz, d)
要预测的时间序列数据集。
- y
忽略
- Returns:
- labelsarray of shape=(n_ts, )
每个样本所属的集群索引。
- classmethod from_hdf5(path)[source]¶
从HDF5文件加载模型。 需要
h5pyhttp://docs.h5py.org/- Parameters:
- pathstr
文件的完整路径。
- Returns:
- Model instance
- classmethod from_json(path)[source]¶
从JSON文件加载模型。
- Parameters:
- pathstr
文件的完整路径。
- Returns:
- Model instance
- classmethod from_pickle(path)[source]¶
从pickle文件加载模型。
- Parameters:
- pathstr
文件的完整路径。
- Returns:
- Model instance
- get_metadata_routing()[source]¶
获取此对象的元数据路由。
请查看用户指南了解路由机制的工作原理。
- Returns:
- routingMetadataRequest
一个封装了路由信息的
MetadataRequest。
- get_params(deep=True)[source]¶
获取此估计器的参数。
- Parameters:
- deepbool, default=True
如果为True,将返回此估计器及其包含的子对象(如果也是估计器)的参数。
- Returns:
- paramsdict
参数名称映射到它们的值。
- predict(X)[source]¶
预测X中每个时间序列所属的最接近的聚类。
- Parameters:
- Xarray-like of shape=(n_ts, sz, d)
要预测的时间序列数据集。
- Returns:
- labelsarray of shape=(n_ts, )
每个样本所属的集群索引。
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') KernelKMeans[source]¶
传递给
fit方法的请求元数据。请注意,此方法仅在
enable_metadata_routing=True时相关(参见sklearn.set_config())。 请参阅 用户指南 了解路由机制的工作原理。每个参数的选项是:
True: 请求元数据,并在提供时传递给fit。如果未提供元数据,则忽略该请求。False: 不请求元数据,元估计器不会将其传递给fit。None: 不请求元数据,如果用户提供了元数据,元估计器将引发错误。str: 元数据应该使用这个给定的别名传递给元估计器,而不是原始名称。
默认值(
sklearn.utils.metadata_routing.UNCHANGED)保留现有的请求。这允许您更改某些参数的请求,而不更改其他参数。版本1.3中的新功能。
注意
此方法仅在此估计器用作元估计器的子估计器时相关,例如在
Pipeline内部使用。否则它没有效果。- Parameters:
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
fit方法中sample_weight参数的元数据路由。
- Returns:
- selfobject
更新后的对象。
- set_params(**params)[source]¶
设置此估计器的参数。
该方法适用于简单的估计器以及嵌套对象(如
Pipeline)。后者具有形式为<component>__<parameter>的参数,以便可以更新嵌套对象的每个组件。- Parameters:
- **paramsdict
估计器参数。
- Returns:
- selfestimator instance
估计器实例。
- to_hdf5(path)[source]¶
将模型保存到HDF5文件。 需要
h5pyhttp://docs.h5py.org/- Parameters:
- pathstr
完整文件路径。文件必须不存在。
- Raises:
- FileExistsError
如果已经存在具有相同路径的文件。