compute_optics_graph#
- sklearn.cluster.compute_optics_graph(X, *, min_samples, max_eps, metric, p, metric_params, algorithm, leaf_size, n_jobs)[Quelle]#
Berechnet den OPTICS-Erreichbarkeitsgraphen.
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- X{ndarray, sparse matrix} von Form (n_samples, n_features) oder (n_samples, n_samples), wenn metric=’precomputed’
Ein Feature-Array oder Array von Distanzen zwischen Stichproben, wenn metric=’precomputed’.
- min_samplesint > 1 oder float zwischen 0 und 1
Die Anzahl der Stichproben in einer Nachbarschaft, damit ein Punkt als Kernpunkt betrachtet wird. Ausgedrückt als absolute Zahl oder als Bruchteil der Anzahl der Stichproben (auf mindestens 2 gerundet).
- max_epsfloat, standardwert=np.inf
Die maximale Entfernung zwischen zwei Stichproben, damit eine als Nachbar einer anderen betrachtet wird. Der Standardwert von
np.infidentifiziert Cluster über alle Skalen hinweg; eine Reduzierung vonmax_epsführt zu kürzeren Laufzeiten.- metricstr oder aufrufbar, Standard=’minkowski’
Metrik, die für die Distanzberechnung verwendet werden soll. Jede Metrik von scikit-learn oder scipy.spatial.distance kann verwendet werden.
Wenn metric eine aufrufbare Funktion ist, wird sie für jedes Paar von Instanzen (Zeilen) aufgerufen und der resultierende Wert aufgezeichnet. Die aufrufbare Funktion sollte zwei Arrays als Eingabe nehmen und einen Wert zurückgeben, der die Distanz zwischen ihnen angibt. Dies funktioniert für Scipys Metriken, ist aber weniger effizient als die Übergabe des Metriknamens als String. Wenn metric „precomputed“ ist, wird davon ausgegangen, dass X eine Distanzmatrix ist und quadratisch sein muss.
Gültige Werte für metric sind
von scikit-learn: [‚cityblock‘, ‚cosine‘, ‚euclidean‘, ‚l1‘, ‚l2‘, ‚manhattan‘]
von scipy.spatial.distance: [‚braycurtis‘, ‚canberra‘, ‚chebyshev‘, ‚correlation‘, ‚dice‘, ‚hamming‘, ‚jaccard‘, ‚kulsinski‘, ‚mahalanobis‘, ‚minkowski‘, ‚rogerstanimoto‘, ‚russellrao‘, ‚seuclidean‘, ‚sokalmichener‘, ‚sokalsneath‘, ‚sqeuclidean‘, ‚yule‘]
Siehe die Dokumentation für scipy.spatial.distance für Details zu diesen Metriken.
Hinweis
'kulsinski'ist seit SciPy 1.9 veraltet und wird in SciPy 1.11 entfernt.- pfloat, Standard=2
Parameter für die Minkowski-Metrik von
pairwise_distances. Wenn p = 1, ist dies äquivalent zur Verwendung der Manhattan-Distanz (l1) und der euklidischen Distanz (l2) für p = 2. Für ein beliebiges p wird die Minkowski-Distanz (l_p) verwendet.- metric_paramsdict, Standard=None
Zusätzliche Schlüsselwortargumente für die Metrikfunktion.
- algorithm{‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}, Standard=’auto’
Algorithmus zur Berechnung der nächsten Nachbarn
‚ball_tree‘ verwendet
BallTree.‚kd_tree‘ verwendet
KDTree.‘brute’ verwendet eine brute-force Suche.
‚auto‘ versucht, den am besten geeigneten Algorithmus basierend auf den an die Methode
fitübergebenen Werten zu bestimmen. (Standard)
Hinweis: Das Anpassen an dünnbesetzte Eingaben überschreibt die Einstellung dieses Parameters und verwendet brute force.
- leaf_sizeint, Standard=30
Blattgröße, die an
BallTreeoderKDTreeübergeben wird. Dies kann die Geschwindigkeit des Aufbaus und der Abfrage sowie den Speicher beeinflussen, der zum Speichern des Baumes benötigt wird. Der optimale Wert hängt von der Art des Problems ab.- n_jobsint, default=None
Die Anzahl der parallelen Jobs für die Nachbarsuche.
Nonebedeutet 1, es sei denn, es befindet sich in einemjoblib.parallel_backendKontext.-1bedeutet, alle Prozessoren zu verwenden. Siehe Glossar für weitere Details.
- Gibt zurück:
- ordering_Array der Form (n_samples,)
Die nach Clustern geordnete Liste der Stichprobenindizes.
- core_distances_Array der Form (n_samples,)
Distanz, bei der jede Stichprobe zu einem Kernpunkt wird, indiziert nach Objektordnung. Punkte, die niemals ein Kernpunkt sein werden, haben eine Distanz von inf. Verwenden Sie
clust.core_distances_[clust.ordering_], um im Cluster-Ordner zuzugreifen.- reachability_Array der Form (n_samples,)
Erreichbarkeitsdistanzen pro Stichprobe, indiziert nach Objektordnung. Verwenden Sie
clust.reachability_[clust.ordering_], um im Cluster-Ordner zuzugreifen.- predecessor_Array der Form (n_samples,)
Punkt, von dem eine Stichprobe erreicht wurde, indiziert nach Objektordnung. Seed-Punkte haben einen Vorgänger von -1.
Referenzen
[1]Ankerst, Mihael, Markus M. Breunig, Hans-Peter Kriegel und Jörg Sander. „OPTICS: ordering points to identify the clustering structure.“ ACM SIGMOD Record 28, Nr. 2 (1999): 49-60.
Beispiele
>>> import numpy as np >>> from sklearn.cluster import 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, ... ) >>> ordering array([0, 1, 2, 5, 3, 4]) >>> core_distances array([3.16, 1.41, 1.41, 1. , 1. , 4.12]) >>> reachability array([ inf, 3.16, 1.41, 4.12, 1. , 5. ]) >>> predecessor array([-1, 0, 1, 5, 3, 2])