tslearn.clustering.silhouette_score

tslearn.clustering.silhouette_score(X, labels, metric=None, sample_size=None, metric_params=None, n_jobs=None, verbose=0, random_state=None, **kwds)[source]

计算所有样本的平均轮廓系数(参见 [1][2])。

阅读更多内容,请访问scikit-learn文档

Parameters:
Xarray [n_ts, n_ts] if metric == “precomputed”, or, [n_ts, sz, d] otherwise

时间序列之间的成对距离数组,或时间序列数据集。

labelsarray, shape = [n_ts]

每个时间序列的预测标签。

metricstring, callable or None (default: None)

计算时间序列之间距离时使用的度量标准。 应该是 {'dtw', 'softdtw', 'euclidean'} 中的一个,或者是一个可调用的距离函数,或者为 None。 如果传递了 'softdtw',则使用 Soft-DTW 的归一化版本,定义为 sdtw_(x,y) := sdtw(x,y) - 1/2(sdtw(x,x)+sdtw(y,y))。 如果 X 是距离数组本身,使用 metric="precomputed"。 如果为 None,则使用 dtw。

sample_sizeint or None (default: None)

在计算数据随机子集上的轮廓系数时使用的样本大小。 如果 sample_size is None,则不使用采样。

metric_paramsdict or None (default: None)

所选指标的参数值。 对于接受交叉距离矩阵计算并行化的指标,metric_params中传递的n_jobs键会被n_jobs参数覆盖。

n_jobsint or None, optional (default=None)

用于并行运行交叉距离矩阵计算的任务数量。 如果无法使用并行化计算交叉距离矩阵,则忽略此设置。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有处理器。有关更多详细信息,请参阅 scikit-learns 的 Glossary

verboseint (default: 0)

如果非零,打印关于学习模型时的惯性信息,并打印joblib进度消息。

random_stateint, RandomState instance or None, optional (default: None)

用于随机选择样本子集的生成器。如果为整数,random_state 是随机数生成器使用的种子;如果是 RandomState 实例,random_state 是随机数生成器;如果为 None,则随机数生成器是 np.random 使用的 RandomState 实例。当 sample_size is not None 时使用。

**kwdsoptional keyword parameters

任何进一步的参数都直接传递给距离函数,就像metric_params参数一样。

Returns:
silhouettefloat

所有样本的平均轮廓系数。

参考文献

示例

>>> from tslearn.generators import random_walks
>>> from tslearn.metrics import cdist_dtw
>>> numpy.random.seed(0)
>>> X = random_walks(n_ts=20, sz=16, d=1)
>>> labels = numpy.random.randint(2, size=20)
>>> silhouette_score(X, labels, metric="dtw")  
0.13383800...
>>> silhouette_score(X, labels, metric="euclidean")  
0.09126917...
>>> silhouette_score(X, labels, metric="softdtw")  
0.17953934...
>>> silhouette_score(X, labels, metric="softdtw",
...                  metric_params={"gamma": 2.})     
0.17591060...
>>> silhouette_score(cdist_dtw(X), labels,
...                  metric="precomputed")  
0.13383800...