maxabs_scale#

sklearn.preprocessing.maxabs_scale(X, *, axis=0, copy=True)[Quelle]#

Skaliert jedes Merkmal auf den Bereich [-1, 1], ohne die Sparsity zu brechen.

Dieser Schätzer skaliert jede Merkmalsspalte individuell so, dass der maximale Absolutwert jeder Merkmalsspalte im Trainingsdatensatz 1,0 beträgt.

Dieser Scaler kann auch auf spärliche CSR- oder CSC-Matrizen angewendet werden.

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

Die Daten.

axis{0, 1}, Standardwert=0

Achse, entlang der skaliert wird. Wenn 0, wird jede Merkmalsspalte unabhängig skaliert, andernfalls (wenn 1) wird jede Stichprobe skaliert.

copybool, Standard=True

Wenn False, versuchen Sie, eine Kopie zu vermeiden und die Skalierung direkt vorzunehmen. Dies ist nicht garantiert immer direkt möglich; z. B. wenn die Daten ein NumPy-Array mit einem Integer-Datentyp sind, wird auch bei copy=False eine Kopie zurückgegeben.

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

Die transformierten Daten.

Warnung

Risiko von Datenlecks Verwenden Sie maxabs_scale nicht, es sei denn, Sie wissen, was Sie tun. Ein häufiger Fehler ist, es auf die gesamten Daten anzuwenden, *bevor* diese in Trainings- und Testdatensätze aufgeteilt werden. Dies verfälscht die Modellbewertung, da Informationen vom Testdatensatz in den Trainingsdatensatz gelangt wären. Im Allgemeinen empfehlen wir die Verwendung von MaxAbsScaler innerhalb einer Pipeline, um die meisten Risiken von Datenlecks zu vermeiden: pipe = make_pipeline(MaxAbsScaler(), LogisticRegression()).

Siehe auch

MaxAbsScaler

Führt die Skalierung in den Bereich [-1, 1] mithilfe der Transformer-API durch (z. B. als Teil einer Vorverarbeitungs- Pipeline).

Anmerkungen

NaNs werden als fehlende Werte behandelt: bei der Berechnung der Statistiken ignoriert und während der Datentransformation beibehalten.

Für einen Vergleich der verschiedenen Skalierer, Transformer und Normalisierer siehe: Vergleichen Sie die Auswirkung verschiedener Skalierer auf Daten mit Ausreißern.

Beispiele

>>> from sklearn.preprocessing import maxabs_scale
>>> X = [[-2, 1, 2], [-1, 0, 1]]
>>> maxabs_scale(X, axis=0)  # scale each column independently
array([[-1. ,  1. ,  1. ],
       [-0.5,  0. ,  0.5]])
>>> maxabs_scale(X, axis=1)  # scale each row independently
array([[-1. ,  0.5,  1. ],
       [-1. ,  0. ,  1. ]])