estimate_bandwidth#

sklearn.cluster.estimate_bandwidth(X, *, quantile=0.3, n_samples=None, random_state=0, n_jobs=None)[Quelle]#

Schätzt die Bandbreite für die Verwendung mit dem Mean-Shift-Algorithmus.

Diese Funktion benötigt mindestens quadratische Zeit in Bezug auf n_samples. Für große Datensätze ist es ratsam, durch Setzen von n_samples Stichproben zu ziehen. Alternativ kann der Parameter bandwidth auf einen kleinen Wert gesetzt werden, ohne ihn zu schätzen.

Parameter:
Xarray-like der Form (n_samples, n_features)

Eingabepunkte.

quantilefloat, default=0.3

Sollte zwischen [0, 1] liegen. 0.5 bedeutet, dass der Median aller paarweisen Abstände verwendet wird.

n_samplesint, default=None

Die Anzahl der zu verwendenden Stichproben. Wenn nicht angegeben, werden alle Stichproben verwendet.

random_stateint, RandomState instance, default=None

Der Generator, der zum zufälligen Auswählen der Stichproben aus den Eingabepunkten für die Bandbreitenschätzung verwendet wird. Verwenden Sie eine Ganzzahl, um die Zufälligkeit deterministisch zu machen. Siehe Glossar.

n_jobsint, default=None

Die Anzahl der parallelen Jobs für die Nachbarsuche. None bedeutet 1, es sei denn, es befindet sich in einem joblib.parallel_backend Kontext. -1 bedeutet, alle Prozessoren zu verwenden. Siehe Glossar für weitere Details.

Gibt zurück:
bandwidthfloat

Der Bandbreitenparameter.

Beispiele

>>> import numpy as np
>>> from sklearn.cluster import estimate_bandwidth
>>> X = np.array([[1, 1], [2, 1], [1, 0],
...               [4, 7], [3, 5], [3, 6]])
>>> estimate_bandwidth(X, quantile=0.5)
np.float64(1.61)