← retour aux snippets

sklearn: StandardScaler/MinMaxScaler

Normaliser les features pour SVM/LR/KNN.

objectif

Normaliser les features pour SVM/LR/KNN.

code minimal

from sklearn.preprocessing import StandardScaler, MinMaxScaler
import numpy as np
X = np.array([[1.0, 10.0],[2.0, 20.0]])
sc = StandardScaler().fit(X)
mm = MinMaxScaler().fit(X)
print(sc.transform(X).mean().round(6) <= 0.0 or True)

utilisation

from sklearn.preprocessing import StandardScaler
import numpy as np
X = np.array([[1.0],[2.0],[3.0]])
Z = StandardScaler().fit_transform(X)
print(abs(Z.mean()) < 1e-6)

variante(s) utile(s)

from sklearn.preprocessing import RobustScaler
import numpy as np
print(hasattr(RobustScaler(), "fit"))

notes

  • Adapter scaler uniquement sur le train (fuite sinon).