silhouette_samples#
- sklearn.metrics.silhouette_samples(X, labels, *, metric='euclidean', **kwds)[Quelle]#
Berechne den Silhouettenkoeffizienten für jede Stichprobe.
Der Silhouette-Koeffizient ist ein Maß dafür, wie gut Samples mit ähnlichen Samples gruppiert sind. Clustering-Modelle mit einem hohen Silhouette-Koeffizienten gelten als dicht, bei denen ähnliche Samples im selben Cluster liegen und gut getrennt sind, bei denen Samples in verschiedenen Clustern nicht sehr ähnlich zueinander sind.
Der Silhouette-Koeffizient wird für jedes Sample mithilfe des mittleren Intra-Cluster-Abstands (
a) und des mittleren nächsten Cluster-Abstands (b) berechnet. Der Silhouette-Koeffizient für ein Sample ist(b - a) / max(a, b). Beachten Sie, dass der Silhouette-Koeffizient nur definiert ist, wenn die Anzahl der Labels zwischen 2 (2 <= n_labels) und der Anzahl der Samples - 1 (n_labels <= n_samples - 1) liegt.Diese Funktion gibt den Silhouette-Koeffizienten für jedes Sample zurück.
Der beste Wert ist 1 und der schlechteste Wert ist -1. Werte nahe 0 deuten auf überlappende Cluster hin.
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- X{array-like, sparse matrix} von Shape (n_samples_a, n_samples_a) wenn metric == “precomputed” oder (n_samples_a, n_features) sonst
Ein Array von paarweisen Abständen zwischen Samples oder ein Feature-Array. Wenn eine sparse Matrix angegeben wird, sollte das CSR-Format bevorzugt werden, um eine zusätzliche Kopie zu vermeiden.
- labelsarray-ähnlich der Form (n_samples,)
Label-Werte für jedes Sample.
- metricstr oder callable, Standard=’euclidean’
Die zu verwendende Metrik bei der Berechnung des Abstands zwischen Instanzen in einem Feature-Array. Wenn metric eine Zeichenkette ist, muss sie eine der Optionen sein, die von
pairwise_distanceserlaubt sind. WennXselbst das Distanz-Array ist, verwenden Sie “precomputed” als Metrik. Vorgefertigte Distanzmatrizen müssen 0 entlang der Diagonale haben.- **kwdsoptionale Schlüsselwortparameter
Alle weiteren Parameter werden direkt an die Distanzfunktion übergeben. Wenn eine
scipy.spatial.distanceMetrik verwendet wird, sind die Parameter weiterhin metrikabhängig. Siehe die Scipy-Dokumentation für Anwendungsbeispiele.
- Gibt zurück:
- silhouettearray-like von Shape (n_samples,)
Silhouette-Koeffizienten für jedes Sample.
Referenzen
Beispiele
>>> 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([...])
Galeriebeispiele#
Auswahl der Anzahl von Clustern mit Silhouette-Analyse auf KMeans-Clustering