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([...])
Примеры галереи#
Выбор количества кластеров с помощью анализа силуэта для кластеризации KMeans