Spec-Zone.ru › scikit-learn

silhouette_samples

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{array-like, sparse matrix} of shape (n_samples_a, n_samples_a) if metric == “precomputed” or (n_samples_a, n_features) иначе

Массив парных расстояний между образцами или массив признаков. Если предоставлена разреженная матрица, следует использовать формат CSR, чтобы избежать дополнительной копии.

labelsarray-like of shape (n_samples,)

Значения меток для каждого образца.

metricstr или callable, по умолчанию=’euclidean’

Метрика, используемая для расчета расстояния между экземплярами в массиве признаков. Если метрика является строкой, она должна быть одним из вариантов, разрешенных pairwise_distances. Если X — сам массив расстояний, используйте «precomputed» в качестве метрики. Матрицы предварительно вычисленных расстояний должны иметь 0 по диагонали.

**kwdsнеобязательные параметры ключевого слова

Любые дополнительные параметры передаются непосредственно функции вычисления расстояний. Если используется метрика scipy.spatial.distance, параметры по-прежнему зависят от метрики. См. документацию scipy для примеров использования.

Возвращает:
silhouettearray-like of shape (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.

[2]

Запись в Википедии о коэффициенте силуэта

Примеры

>>> 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([...])

Примеры из галереи

Выбор числа кластеров с помощью анализа силуэта при кластеризации KMeans

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.metrics.silhouette_samples.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API