silhouette_samples#

sklearn.metrics.silhouette_samples(X, метки, *, метрика='euclidean', **kwds)[источник]#

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

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

Коэффициент силуэта рассчитывается с использованием среднего внутрикластерного расстояния (a) и среднее расстояние до ближайшего кластера (b) для каждого образца. Коэффициент силуэта для образца (b - a) / max(a, b). Обратите внимание, что коэффициент силуэта определен только если количество меток равно 2 <= n_labels <= n_samples - 1.

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

Наилучшее значение — 1, а худшее — -1. Значения, близкие к 0, указывают на перекрывающиеся кластеры.

Подробнее в Руководство пользователя.

Параметры:
Xlength_scale_bounds

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

меткиarray-like формы (n_samples,)

Значения меток для каждой выборки.

метрикаstr или callable, по умолчанию='euclidean'

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

**kwdsопциональные параметры ключевых слов

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

Возвращает:
силуэтarray-like формы (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([...])