QuantileTransformer#

class sklearn.preprocessing.QuantileTransformer(*, n_quantiles=1000, output_distribution='uniform', ignore_implicit_zeros=False, subsample=10000, random_state=None, copy=True)[source]#

Transformiert Merkmale mithilfe von Quantilinformationen.

Diese Methode transformiert die Features so, dass sie einer uniformen oder einer normalen Verteilung folgen. Daher tendiert diese Transformation für ein gegebenes Feature dazu, die häufigsten Werte zu verteilen. Sie reduziert auch den Einfluss von (marginalen) Ausreißern: dies ist daher ein robustes Vorverarbeitungsschema.

Die Transformation wird für jedes Feature unabhängig angewendet. Zuerst wird eine Schätzung der kumulativen Verteilungsfunktion eines Features verwendet, um die ursprünglichen Werte auf eine uniforme Verteilung abzubilden. Die erhaltenen Werte werden dann mithilfe der zugehörigen Quantilfunktion auf die gewünschte Ausgabeverteilung abgebildet. Werte von neuen/unbekannten Daten, die außerhalb des angepassten Bereichs liegen, werden auf die Grenzen der Ausgabeverteilung abgebildet. Beachten Sie, dass diese Transformation nichtlinear ist. Sie kann lineare Korrelationen zwischen Variablen, die auf derselben Skala gemessen werden, verzerren, macht aber Variablen, die auf unterschiedlichen Skalen gemessen werden, direkter vergleichbar.

Beispielvisualisierungen finden Sie unter Vergleich von QuantileTransformer mit anderen Skalierern.

Lesen Sie mehr im Benutzerhandbuch.

Hinzugefügt in Version 0.19.

Parameter:
n_quantilesint, default=1000 oder n_samples

Anzahl der zu berechnenden Quantile. Dies entspricht der Anzahl der Landmarken, die zur Diskretisierung der kumulativen Verteilungsfunktion verwendet werden. Wenn n_quantiles größer ist als die Anzahl der Samples, wird n_quantiles auf die Anzahl der Samples gesetzt, da eine größere Anzahl von Quantilen keine bessere Annäherung an den Schätzer der kumulativen Verteilungsfunktion liefert.

output_distribution{‘uniform’, ‘normal’}, default=’uniform’

Marginale Verteilung für die transformierten Daten. Die Auswahlmöglichkeiten sind ‘uniform’ (Standard) oder ‘normal’.

ignore_implicit_zerosbool, default=False

Gilt nur für dünnbesetzte Matrizen. Wenn True, werden die dünnbesetzten Einträge der Matrix zur Berechnung der Quantilstatistiken verworfen. Wenn False, werden diese Einträge als Nullen behandelt.

subsampleint oder None, default=10_000

Maximale Anzahl von Samples, die zur Schätzung der Quantile verwendet werden, aus Gründen der Recheneffizienz. Beachten Sie, dass das Subsampling-Verfahren für identische dünnbesetzte und dichte Matrizen unterschiedlich sein kann. Deaktivieren Sie das Subsampling, indem Sie subsample=None setzen.

Hinzugefügt in Version 1.5: Die Option None zum Deaktivieren des Subsamplings wurde hinzugefügt.

random_stateint, RandomState-Instanz oder None, default=None

Bestimmt die Zufallszahlengenerierung für Subsampling und Glättungsrauschen. Weitere Details finden Sie unter subsample. Übergeben Sie eine Ganzzahl für reproduzierbare Ergebnisse über mehrere Funktionsaufrufe hinweg. Siehe Glossar.

copybool, Standard=True

Auf False setzen, um die Transformation inplace durchzuführen und eine Kopie zu vermeiden (wenn die Eingabe bereits ein Numpy-Array ist).

Attribute:
n_quantiles_int

Die tatsächliche Anzahl der Quantile, die zur Diskretisierung der kumulativen Verteilungsfunktion verwendet werden.

quantiles_ndarray von Form (n_quantiles, n_features)

Die Werte, die den Referenzquantilen entsprechen.

references_ndarray von Form (n_quantiles, )

Quantile der Referenzen.

n_features_in_int

Anzahl der während des fits gesehenen Merkmale.

Hinzugefügt in Version 0.24.

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.

Hinzugefügt in Version 1.0.

Siehe auch

quantile_transform

Äquivalente Funktion ohne die Estimator-API.

PowerTransformer

Durchführung der Abbildung auf eine normale Verteilung mittels einer Potenztransformation.

StandardScaler

Durchführung einer Standardisierung, die schneller, aber weniger robust gegenüber Ausreißern ist.

RobustScaler

Durchführung einer robusten Standardisierung, die den Einfluss von Ausreißern entfernt, aber Ausreißer und Inlierer nicht auf dieselbe Skala bringt.

Anmerkungen

NaNs werden als fehlende Werte behandelt: bei fit ignoriert und bei transform beibehalten.

Beispiele

>>> import numpy as np
>>> from sklearn.preprocessing import QuantileTransformer
>>> rng = np.random.RandomState(0)
>>> X = np.sort(rng.normal(loc=0.5, scale=0.25, size=(25, 1)), axis=0)
>>> qt = QuantileTransformer(n_quantiles=10, random_state=0)
>>> qt.fit_transform(X)
array([...])
fit(X, y=None)[source]#

Berechnet die für die Transformation verwendeten Quantile.

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Die Daten, die zur Skalierung entlang der Feature-Achse verwendet werden. Wenn eine dünnbesetzte Matrix bereitgestellt wird, wird diese in eine dünnbesetzte csc_matrix konvertiert. Zusätzlich muss die dünnbesetzte Matrix nicht-negativ sein, wenn ignore_implicit_zeros False ist.

yNone

Ignoriert.

Gibt zurück:
selfobject

Gefitteter Transformer.

fit_transform(X, y=None, **fit_params)[source]#

An Daten anpassen, dann transformieren.

Passt den Transformer an X und y mit optionalen Parametern fit_params an und gibt eine transformierte Version von X zurück.

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

Eingabestichproben.

yarray-like der Form (n_samples,) oder (n_samples, n_outputs), Standardwert=None

Zielwerte (None für unüberwachte Transformationen).

**fit_paramsdict

Zusätzliche Fit-Parameter. Nur übergeben, wenn der Estimator zusätzliche Parameter in seiner fit-Methode akzeptiert.

Gibt zurück:
X_newndarray array der Form (n_samples, n_features_new)

Transformiertes Array.

get_feature_names_out(input_features=None)[source]#

Holt die Ausgabemerkmale für die Transformation.

Parameter:
input_featuresarray-like von str oder None, default=None

Eingabemerkmale.

  • Wenn input_features None ist, werden feature_names_in_ als Merkmalnamen verwendet. Wenn feature_names_in_ nicht definiert ist, werden die folgenden Eingabemerkmalsnamen generiert: ["x0", "x1", ..., "x(n_features_in_ - 1)"].

  • Wenn input_features ein Array-ähnliches Objekt ist, muss input_features mit feature_names_in_ übereinstimmen, wenn feature_names_in_ definiert ist.

Gibt zurück:
feature_names_outndarray von str-Objekten

Gleich wie Eingabemerkmale.

get_metadata_routing()[source]#

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)[source]#

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.

inverse_transform(X)[source]#

Rückprojektion in den ursprünglichen Raum.

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Die Daten, die zur Skalierung entlang der Feature-Achse verwendet werden. Wenn eine dünnbesetzte Matrix bereitgestellt wird, wird diese in eine dünnbesetzte csc_matrix konvertiert. Zusätzlich muss die dünnbesetzte Matrix nicht-negativ sein, wenn ignore_implicit_zeros False ist.

Gibt zurück:
X_original{ndarray, sparse matrix} von (n_samples, n_features)

Die projizierten Daten.

set_output(*, transform=None)[source]#

Ausgabecontainer festlegen.

Siehe Einführung in die set_output API für ein Beispiel zur Verwendung der API.

Parameter:
transform{“default”, “pandas”, “polars”}, default=None

Konfiguriert die Ausgabe von transform und fit_transform.

  • "default": Standardausgabeformat eines Transformers

  • "pandas": DataFrame-Ausgabe

  • "polars": Polars-Ausgabe

  • None: Die Transformationskonfiguration bleibt unverändert

Hinzugefügt in Version 1.4: Die Option "polars" wurde hinzugefügt.

Gibt zurück:
selfestimator instance

Schätzer-Instanz.

set_params(**params)[source]#

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.

transform(X)[source]#

Feature-weise Transformation der Daten.

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Die Daten, die zur Skalierung entlang der Feature-Achse verwendet werden. Wenn eine dünnbesetzte Matrix bereitgestellt wird, wird diese in eine dünnbesetzte csc_matrix konvertiert. Zusätzlich muss die dünnbesetzte Matrix nicht-negativ sein, wenn ignore_implicit_zeros False ist.

Gibt zurück:
Xt{ndarray, sparse matrix} der Form (n_samples, n_features)

Die projizierten Daten.