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 alsmin_samplesaufeinanderfolgende 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 vonmin_samplesverwendet.- 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. Dalabelsdie Hierarchie nicht widerspiegelt, istlen(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]])