Spec-Zone.ru › scikit-learn

silhouette_samples

sklearn.metrics.silhouette_samples(X, labels, *, metric='euclidean', **kwds)[исходный код]

Вычислить коэффициент силуэта для каждого образца.

Коэффициент силуэта показывает, насколько хорошо образцы сгруппированы с похожими на них образцами. Считается, что модели кластеризации с высоким коэффициентом силуэта образуют плотные кластеры, в которых образцы одного кластера похожи друг на друга, и хорошо разделённые кластеры, в которых образцы разных кластеров не очень похожи друг на друга.

Коэффициент силуэта вычисляется для каждого образца с использованием среднего внутрикластерного расстояния (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,)

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

metricстрока или вызываемый объект, по умолчанию=’euclidean’

Метрика, используемая для вычисления расстояния между объектами в массиве признаков. Если metric — строка, она должна быть одной из метрик, разрешённых функцией pairwise_distances. Если X — сам массив расстояний, используйте “precomputed” в качестве метрики. На диагонали предварительно вычисленных матриц расстояний должны быть нули.

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

Все остальные параметры передаются непосредственно функции вычисления расстояния. При использовании метрики scipy.spatial.distance параметры также зависят от метрики. Примеры использования см. в документации SciPy.

Возвращает:
silhouetteмассивоподобный объект формы (n_samples,)

Коэффициенты силуэта для каждого образца.

Литература

[1]

Peter J. Rousseeuw (1987). «Силуэты: графический способ интерпретации и проверки результатов кластерного анализа». 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–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.metrics.silhouette_samples.html

Spec-Zone.ru

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