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