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.
MinMaxScalerreduziert 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_rangezu beschneiden. Da dieser Parameter Werte beschneidet, kanninverse_transformdie Originaldaten möglicherweise nicht wiederherstellen.Hinweis
Das Setzen von
clip=Trueverhindert nicht das Feature-Drift (eine Verteilungsverschiebung zwischen Trainings- und Testdaten). Die transformierten Werte werden auf denfeature_rangebeschrä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 wurdeHinzugefü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
XMerkmalnamen 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
Xundymit optionalen Parameternfit_paramsan und gibt eine transformierte Version vonXzurü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_featuresNoneist, werdenfeature_names_in_als Merkmalnamen verwendet. Wennfeature_names_in_nicht definiert ist, werden die folgenden Eingabemerkmalsnamen generiert:["x0", "x1", ..., "x(n_features_in_ - 1)"].Wenn
input_featuresein Array-ähnliches Objekt ist, mussinput_featuresmitfeature_names_in_übereinstimmen, wennfeature_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
fitaufgrund einer sehr großen Anzahl vonn_samplesnicht 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
transformundfit_transform."default": Standardausgabeformat eines Transformers"pandas": DataFrame-Ausgabe"polars": Polars-AusgabeNone: 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.
Galeriebeispiele#
Dimensionsreduktion auswählen mit Pipeline und GridSearchCV
Skalierbares Lernen mit Polynom-Kernel-Approximation
Manifold Learning auf handschriftlichen Ziffern: Locally Linear Embedding, Isomap…
Vergleich von stochastischen Lernstrategien für MLPClassifier
Vergleich der Auswirkungen verschiedener Skalierer auf Daten mit Ausreißern