cluster_optics_xi#

sklearn.cluster.cluster_optics_xi(*, reachability, predecessor, ordering, min_samples, min_cluster_size=None, xi=0.05, predecessor_correction=True)[source]#

Extrahiert automatisch Cluster gemäß der Xi-Steep-Methode.

Parameter:
reachabilityndarray von Form (n_samples,)

Erreichbarkeitsdistanzen, berechnet durch OPTICS (reachability_).

predecessorndarray von Form (n_samples,)

Vorgänger, berechnet durch OPTICS.

orderingndarray von Form (n_samples,)

OPTICS sortierte Punktindizes (ordering_).

min_samplesint > 1 oder float zwischen 0 und 1

Dasselbe wie min_samples, das an OPTICS übergeben wurde. Auf- und absteigende steile Regionen dürfen nicht mehr als min_samples aufeinanderfolgende nicht-steile Punkte enthalten. Ausgedrückt als absolute Zahl oder als Bruchteil der Anzahl der Stichproben (auf mindestens 2 gerundet).

min_cluster_sizeint > 1 oder float zwischen 0 und 1, Standard=None

Minimale Anzahl von Stichproben in einem OPTICS-Cluster, ausgedrückt als absolute Zahl oder als Bruchteil der Anzahl der Stichproben (auf mindestens 2 gerundet). Wenn None, wird stattdessen der Wert von min_samples verwendet.

xifloat zwischen 0 und 1, Standard=0.05

Bestimmt die minimale Steilheit im Erreichbarkeitsdiagramm, die eine Clustergrenze darstellt. Zum Beispiel wird ein Aufwärtspunkt im Erreichbarkeitsdiagramm durch das Verhältnis von einem Punkt zu seinem Nachfolger definiert, das höchstens 1-xi beträgt.

predecessor_correctionbool, Standard=True

Korrigiert Cluster basierend auf den berechneten Vorgängern.

Gibt zurück:
labelsndarray der Form (n_samples,)

Die Stichproben zugewiesenen Labels. Punkte, die keinem Cluster zugeordnet sind, werden mit -1 gekennzeichnet.

clustersndarray von Form (n_clusters, 2)

Die Liste der Cluster in Form von [start, end] in jeder Zeile, wobei alle Indizes eingeschlossen sind. Die Cluster sind gemäß (end, -start) (aufsteigend) geordnet, sodass größere, kleinere Cluster umfassende Cluster nach solchen verschachtelten kleineren Clustern kommen. Da labels die Hierarchie nicht widerspiegelt, ist len(clusters) > np.unique(labels) normalerweise der Fall.

Beispiele

>>> import numpy as np
>>> from sklearn.cluster import cluster_optics_xi, compute_optics_graph
>>> X = np.array([[1, 2], [2, 5], [3, 6],
...               [8, 7], [8, 8], [7, 3]])
>>> ordering, core_distances, reachability, predecessor = compute_optics_graph(
...     X,
...     min_samples=2,
...     max_eps=np.inf,
...     metric="minkowski",
...     p=2,
...     metric_params=None,
...     algorithm="auto",
...     leaf_size=30,
...     n_jobs=None
... )
>>> min_samples = 2
>>> labels, clusters = cluster_optics_xi(
...     reachability=reachability,
...     predecessor=predecessor,
...     ordering=ordering,
...     min_samples=min_samples,
... )
>>> labels
array([0, 0, 0, 1, 1, 1])
>>> clusters
array([[0, 2],
       [3, 5],
       [0, 5]])