MinMaxScaler#

class sklearn.preprocessing.MinMaxScaler(feature_range=(0, 1), *, copy=True, clip=False)[Quelle]#

Transformiert Merkmale durch Skalierung jedes Merkmals auf einen gegebenen Bereich.

Dieser Schätzer skaliert und verschiebt jedes Merkmal individuell so, dass es im Trainingsdatensatz im angegebenen Bereich liegt, z. B. zwischen Null und Eins.

Die Transformation ist gegeben durch

X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0))
X_scaled = X_std * (max - min) + min

wobei min, max = feature_range.

Diese Transformation wird oft als Alternative zur Skalierung auf Nullmittelwert und Einheitsvarianz verwendet.

MinMaxScaler reduziert nicht die Auswirkung von Ausreißern, sondern skaliert sie linear in einen festen Bereich, wobei der größte auftretende Datenpunkt dem Maximalwert und der kleinste dem Minimalwert entspricht. Eine Beispielvisualisierung finden Sie unter Vergleich von MinMaxScaler mit anderen Skalierern.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
feature_rangetuple (min, max), Standard=(0, 1)

Gewünschter Bereich der transformierten Daten.

copybool, Standard=True

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

clipbool, Standard=False

Auf True setzen, um transformierte Werte von zurückgehaltenen Daten auf den angegebenen feature_range zu beschneiden. Da dieser Parameter Werte beschneidet, kann inverse_transform die Originaldaten möglicherweise nicht wiederherstellen.

Hinweis

Das Setzen von clip=True verhindert nicht das Feature-Drift (eine Verteilungsverschiebung zwischen Trainings- und Testdaten). Die transformierten Werte werden auf den feature_range beschränkt, was dazu beiträgt, unbeabsichtigtes Verhalten bei Modellen zu vermeiden, die empfindlich auf Werte außerhalb des Bereichs reagieren (z. B. lineare Modelle). Mit Vorsicht verwenden, da das Beschneiden die Verteilung der Testdaten verzerren kann.

Hinzugefügt in Version 0.24.

Attribute:
min_ndarray von Form (n_features,)

Merkmalsspezifische Anpassung für das Minimum. Äquivalent zu min - X.min(axis=0) * self.scale_

scale_ndarray von Form (n_features,)

Merkmalsspezifische relative Skalierung der Daten. Äquivalent zu (max - min) / (X.max(axis=0) - X.min(axis=0))

Hinzugefügt in Version 0.17: scale_ Attribut.

data_min_ndarray von Form (n_features,)

Merkmalsspezifisches Minimum, das in den Daten gesehen wurde

Hinzugefügt in Version 0.17: data_min_

data_max_ndarray von Form (n_features,)

Merkmalsspezifisches Maximum, das in den Daten gesehen wurde

Hinzugefügt in Version 0.17: data_max_

data_range_ndarray von Form (n_features,)

Merkmalsspezifische Spanne (data_max_ - data_min_), die in den Daten gesehen wurde

Hinzugefügt in Version 0.17: data_range_

n_features_in_int

Anzahl der während des fits gesehenen Merkmale.

Hinzugefügt in Version 0.24.

n_samples_seen_int

Die Anzahl der vom Schätzer verarbeiteten Stichproben. Sie wird bei neuen Aufrufen von fit zurückgesetzt, inkrementiert aber über partial_fit-Aufrufe hinweg.

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

minmax_scale

Äquivalente Funktion ohne die Estimator-API.

Anmerkungen

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

Beispiele

>>> from sklearn.preprocessing import MinMaxScaler
>>> data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
>>> scaler = MinMaxScaler()
>>> print(scaler.fit(data))
MinMaxScaler()
>>> print(scaler.data_max_)
[ 1. 18.]
>>> print(scaler.transform(data))
[[0.   0.  ]
 [0.25 0.25]
 [0.5  0.5 ]
 [1.   1.  ]]
>>> print(scaler.transform([[2, 2]]))
[[1.5 0. ]]
fit(X, y=None)[Quelle]#

Berechnet das Minimum und Maximum, die für die spätere Skalierung verwendet werden.

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

Die Daten, die zur Berechnung des pro Merkmal gemittelten Minimums und Maximums für die spätere Skalierung entlang der Merkmalachse verwendet werden.

yNone

Ignoriert.

Gibt zurück:
selfobject

Gefitteter Scaler.

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

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

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()[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.

inverse_transform(X)[Quelle]#

Macht die Skalierung von X gemäß feature_range rückgängig.

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

Eingabedaten, die transformiert werden. Kann nicht spärlich sein.

Gibt zurück:
X_originalndarray von der Form (n_samples, n_features)

Transformierte Daten.

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

Online-Berechnung von Minimum und Maximum auf X für spätere Skalierung.

Alle von X werden als ein einziger Batch verarbeitet. Dies ist für Fälle gedacht, in denen fit aufgrund einer sehr großen Anzahl von n_samples nicht praktikabel ist oder weil X aus einem kontinuierlichen Strom gelesen wird.

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

Die Daten, die zur Berechnung des Mittelwerts und der Standardabweichung für die spätere Skalierung entlang der Merkmalachse verwendet werden.

yNone

Ignoriert.

Gibt zurück:
selfobject

Gefitteter Scaler.

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

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)[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.

transform(X)[Quelle]#

Skaliert die Merkmale von X gemäß feature_range.

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

Eingabedaten, die transformiert werden.

Gibt zurück:
Xtndarray von Form (n_samples, n_features)

Transformierte Daten.