silhouette_samples#
- sklearn.metrics.silhouette_samples(X, labels, *, metric='euclidean', **kwds)[源代码]#
Compute the Silhouette Coefficient for each sample.
轮廓系数是衡量样本与与自身相似的样本聚集程度的指标。具有高轮廓系数的集群模型被认为是密集的,即同一集群中的样本彼此相似;并且分离得很好,即不同集群中的样本彼此不太相似。
剪影系数使用平均群内距离计算 (
a
)和平均最近集群距离 (b
),每个样本。 样本的轮廓系数为(b - a) / max(a, b)
.请注意,只有当标签数量为2时才定义Silhouette Coefficient<= n_labels <= n_samples - 1
.此函数返回每个样本的轮廓系数。
最好的值是1,最差的值是-1。接近0的值表示重叠的集群。
阅读更多的 User Guide .
- 参数:
- X如果指标==,形状(n_samples_a,n_samples_a)的{类数组,稀疏矩阵} “预先计算”或(n_samples_a,n_features)否则
样本之间的成对距离数组,或特征数组。如果提供了稀疏矩阵,则应倾向于CSR格式,以避免额外的副本。
- labels形状类似阵列(n_samples,)
每个样本的标签值。
- metric字符串或可调用,默认='欧几里德'
计算要素数组中实例之间的距离时使用的指标。如果指标是字符串,则它必须是允许的选项之一
pairwise_distances
.如果X
是距离数组本身,使用“预先计算”作为指标。预先计算的距离矩阵沿着对角线必须为0。- **kwds可选关键字参数
任何进一步的参数都直接传递给距离函数。如果使用
scipy.spatial.distance
度量,参数仍然是度量相关的。有关使用示例,请参阅scipy文档。
- 返回:
- silhouette形状类似阵列(n_samples,)
每个样本的剪影系数。
引用
[1]Peter J. Rousseeuw (1987). "Silhouettes: a Graphical Aid to the Interpretation and Validation of Cluster Analysis". Computational and Applied Mathematics 20: 53-65. <https://www.sciencedirect.com/science/article/pii/0377042787901257>
_[2]Wikipedia entry on the Silhouette Coefficient <https://en.wikipedia.org/wiki/Silhouette_(clustering)>
_示例
>>> from sklearn.metrics import silhouette_samples >>> from sklearn.datasets import make_blobs >>> from sklearn.cluster import KMeans >>> X, y = make_blobs(n_samples=50, random_state=42) >>> kmeans = KMeans(n_clusters=3, random_state=42) >>> labels = kmeans.fit_predict(X) >>> silhouette_samples(X, labels) array([...])