轮廓系数样本#
- sklearn.metrics.silhouette_samples(X, labels, *, metric='euclidean', **kwds)[source]#
- 计算每个样本的轮廓系数。 - 轮廓系数衡量样本与相似样本聚类在一起的程度。具有高轮廓系数的聚类模型被认为是密集的,其中同一集群中的样本彼此相似,并且分离良好,其中不同集群中的样本彼此不太相似。 - 轮廓系数的计算使用每个样本的平均类内距离( - a)和平均最近类距离(- b)。样本的轮廓系数为- (b - a) / max(a, b)。请注意,只有当标签数量为 2- <= n_labels <= n_samples - 1时,轮廓系数才定义。- 此函数返回每个样本的轮廓系数。 - 最佳值为 1,最差值为 -1。接近 0 的值表示集群重叠。 - 在 用户指南 中了解更多信息。 - 参数:
- X形状为 (n_samples_a, n_samples_a) 的 {类数组,稀疏矩阵}(如果 metric == “precomputed”)或 (n_samples_a, n_features)(否则)
- 样本间的成对距离数组,或特征数组。如果提供稀疏矩阵,则应优先使用 CSR 格式,避免额外的复制。 
- labels形状为 (n_samples,) 的类数组
- 每个样本的标签值。 
- metricstr 或可调用对象,默认为 ‘euclidean’
- 计算特征数组中实例之间距离时使用的度量。如果 metric 是字符串,则它必须是 - pairwise_distances允许的选项之一。如果- X是距离数组本身,则使用 “precomputed” 作为度量。预计算的距离矩阵的对角线必须为 0。
- **kwds可选关键字参数
- 任何其他参数都直接传递到距离函数。如果使用 - scipy.spatial.distance度量,则参数仍然取决于度量。有关使用方法示例,请参阅 scipy 文档。
 
- 返回:
- silhouette形状为 (n_samples,) 的类数组
- 每个样本的轮廓系数。 
 
 - 参考文献 - 示例 - >>> 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([...]) 
 
    