KernelDensity#

class sklearn.neighbors.KernelDensity(*, bandwidth=1.0, algorithm='auto', kernel='gaussian', metric='euclidean', atol=0, rtol=0, breadth_first=True, leaf_size=40, metric_params=None)[Quelle]#

Kernel-Dichte-Schätzung.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
bandwidthfloat oder {“scott”, “silverman”}, Standard=1.0

Die Bandbreite des Kernels. Wenn bandwidth ein Float ist, definiert es die Bandbreite des Kernels. Wenn bandwidth eine Zeichenkette ist, wird eine der Schätzmethoden implementiert.

algorithm{‘kd_tree’, ‘ball_tree’, ‘auto’}, Standard=’auto’

Der zu verwendende Baum-Algorithmus.

kernel{‘gaussian’, ‘tophat’, ‘epanechnikov’, ‘exponential’, ‘linear’, ‘cosine’}, Standard=’gaussian’

Der zu verwendende Kernel.

metricstr, Standard=’euclidean’

Zu verwendende Metrik für die Distanzberechnung. Siehe die Dokumentation von scipy.spatial.distance und die in distance_metrics aufgeführten Metriken für gültige Metrikwerte.

Nicht alle Metriken sind mit allen Algorithmen gültig: siehe die Dokumentation von BallTree und KDTree. Beachten Sie, dass die Normalisierung der Dichteausgabe nur für die euklidische Distanzmetrik korrekt ist.

atolFloat, Standard=0

Die gewünschte absolute Toleranz des Ergebnisses. Eine größere Toleranz führt im Allgemeinen zu einer schnelleren Ausführung.

rtolfloat, Standard=0

Die gewünschte relative Toleranz des Ergebnisses. Eine größere Toleranz führt im Allgemeinen zu einer schnelleren Ausführung.

breadth_firstbool, Standard=True

Wenn wahr (Standard), wird ein Breitensuche-Ansatz für das Problem verwendet. Andernfalls wird ein Tiefensuche-Ansatz verwendet.

leaf_sizeint, Standard=40

Geben Sie die Blattgröße des zugrunde liegenden Baums an. Details finden Sie unter BallTree oder KDTree.

metric_paramsdict, Standard=None

Zusätzliche Parameter, die an den Baum übergeben werden, um sie mit der Metrik zu verwenden. Weitere Informationen finden Sie in der Dokumentation von BallTree oder KDTree.

Attribute:
n_features_in_int

Anzahl der während des fits gesehenen Merkmale.

Hinzugefügt in Version 0.24.

tree_BinaryTree Instanz

Der Baum-Algorithmus für schnelle N-Punkt-Probleme.

feature_names_in_ndarray mit Form (n_features_in_,)

Namen der während fit gesehenen Merkmale. Nur definiert, wenn X Merkmalnamen hat, die alle Zeichenketten sind.

bandwidth_float

Wert der Bandbreite, direkt durch den Parameter bandwidth gegeben oder mit der Methode ‘scott’ oder ‘silverman’ geschätzt.

Hinzugefügt in Version 1.0.

Siehe auch

sklearn.neighbors.KDTree

K-dimensionaler Baum für schnelle N-Punkt-Probleme.

sklearn.neighbors.BallTree

Ball-Baum für schnelle N-Punkt-Probleme.

Beispiele

Berechnet eine Gaußsche Kerndichteschätzung mit fester Bandbreite.

>>> from sklearn.neighbors import KernelDensity
>>> import numpy as np
>>> rng = np.random.RandomState(42)
>>> X = rng.random_sample((100, 3))
>>> kde = KernelDensity(kernel='gaussian', bandwidth=0.5).fit(X)
>>> log_density = kde.score_samples(X[:3])
>>> log_density
array([-1.52955942, -1.51462041, -1.60244657])
fit(X, y=None, sample_weight=None)[Quelle]#

Anpassen des Kerndichte-Modells an die Daten.

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

Liste von n_dimensions-dimensionalen Datenpunkten. Jede Zeile entspricht einem einzelnen Datenpunkt.

yNone

Ignoriert. Dieser Parameter existiert nur zur Kompatibilität mit Pipeline.

sample_weightarray-like der Form (n_samples,), Standardwert=None

Liste der Stichprobengewichte, die den Daten X zugeordnet sind.

Hinzugefügt in Version 0.20.

Gibt zurück:
selfobject

Gibt die Instanz selbst zurück.

get_metadata_routing()[Quelle]#

Holt das Metadaten-Routing dieses Objekts.

Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.

Gibt zurück:
routingMetadataRequest

Ein MetadataRequest, der Routing-Informationen kapselt.

get_params(deep=True)[Quelle]#

Holt Parameter für diesen Schätzer.

Parameter:
deepbool, default=True

Wenn True, werden die Parameter für diesen Schätzer und die enthaltenen Unterobjekte, die Schätzer sind, zurückgegeben.

Gibt zurück:
paramsdict

Parameternamen, zugeordnet ihren Werten.

sample(n_samples=1, random_state=None)[Quelle]#

Generiere zufällige Stichproben aus dem Modell.

Derzeit ist dies nur für Gaußsche und Tophat-Kernel implementiert.

Parameter:
n_samplesint, Standard=1

Anzahl der zu generierenden Stichproben.

random_stateint, RandomState-Instanz oder None, default=None

Bestimmt die Zufallszahlengenerierung zur Erzeugung zufälliger Stichproben. Übergeben Sie eine Ganzzahl für reproduzierbare Ergebnisse über mehrere Funktionsaufrufe hinweg. Siehe Glossar.

Gibt zurück:
Xarray-like der Form (n_samples, n_features)

Liste von Stichproben.

score(X, y=None)[Quelle]#

Berechnet die gesamte Log-Wahrscheinlichkeit unter dem Modell.

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

Liste von n_dimensions-dimensionalen Datenpunkten. Jede Zeile entspricht einem einzelnen Datenpunkt.

yNone

Ignoriert. Dieser Parameter existiert nur zur Kompatibilität mit Pipeline.

Gibt zurück:
logprobfloat

Gesamte Log-Wahrscheinlichkeit der Daten in X. Diese wird als Wahrscheinlichkeitsdichte normalisiert, daher sind die Werte für hochdimensionale Daten niedrig.

score_samples(X)[Quelle]#

Berechnet die Log-Wahrscheinlichkeit jeder Stichprobe unter dem Modell.

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

Eine Menge von Punkten zum Abfragen. Die letzte Dimension sollte mit der Dimension der Trainingsdaten (n_features) übereinstimmen.

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

Log-Wahrscheinlichkeit jeder Stichprobe in X. Diese werden als Wahrscheinlichkeitsdichte normalisiert, daher sind die Werte für hochdimensionale Daten niedrig.

set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') KernelDensity[Quelle]#

Konfiguriert, ob Metadaten für die fit-Methode angefordert werden sollen.

Beachten Sie, dass diese Methode nur relevant ist, wenn dieser Schätzer als Unter-Schätzer innerhalb eines Meta-Schätzers verwendet wird und Metadaten-Routing mit enable_metadata_routing=True aktiviert ist (siehe sklearn.set_config). Bitte lesen Sie das Benutzerhandbuch, um zu erfahren, wie der Routing-Mechanismus funktioniert.

Die Optionen für jeden Parameter sind

  • True: Metadaten werden angefordert und, falls vorhanden, an fit übergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.

  • False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht an fit.

  • None: Metadaten werden nicht angefordert und der Meta-Schätzer löst einen Fehler aus, wenn der Benutzer sie bereitstellt.

  • str: Metadaten sollten mit diesem Alias an den Meta-Schätzer übergeben werden und nicht mit dem ursprünglichen Namen.

Der Standardwert (sklearn.utils.metadata_routing.UNCHANGED) behält die bestehende Anforderung bei. Dies ermöglicht es Ihnen, die Anforderung für einige Parameter zu ändern und für andere nicht.

Hinzugefügt in Version 1.3.

Parameter:
sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED

Metadaten-Routing für den Parameter sample_weight in fit.

Gibt zurück:
selfobject

Das aktualisierte Objekt.

set_params(**params)[Quelle]#

Setzt die Parameter dieses Schätzers.

Die Methode funktioniert sowohl bei einfachen Schätzern als auch bei verschachtelten Objekten (wie Pipeline). Letztere haben Parameter der Form <component>__<parameter>, so dass es möglich ist, jede Komponente eines verschachtelten Objekts zu aktualisieren.

Parameter:
**paramsdict

Schätzer-Parameter.

Gibt zurück:
selfestimator instance

Schätzer-Instanz.