Python Machine Learning

Scale

Min Max Scaler

Transform

$$x_{scale}=\frac{x-x_{min}}{x_{max}-x_{min}}$$

Inverse

$$x=x_{scale}({x_{max}-x_{min})+x_{min}}$$

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
X = [
    [2, 3],
    [4, 8],
    [5, 2],
    [2, 4]
]
X_scale = scaler.fit_transform(X)
print(scaler.data_min_)
print(scaler.data_max_)
X = scaler.inverse_transform(X_scale)

Standard Scaler

Transform

$$x_{scale}=\frac{x-\bar{x}}{s}$$

Inverse

$$x=x_{scale} * s + \bar{x}$$

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X = [
    [2, 3],
    [4, 8],
    [5, 2],
    [2, 4]
]
X_scale = scaler.fit_transform(X)
print(scaler.mean_)
print(scaler.var_)
X = scaler.inverse_transform(X_scale)

Max Abs Scaler

Transform

$$x_{scale}=\frac{x}{|x|_{max}}$$

Inverse

$$x={x_{scale}}{|x|_{max}}$$

from sklearn.preprocessing import MaxAbsScaler
scaler = MaxAbsScaler()
X = [
    [7, 2],
    [4, -8],
    [2, 5],
    [8, 4],
    [1, 5],
    [-25, 4]
]
X_scale = scaler.fit_transform(X)
print(scaler.max_abs_)
scaler.inverse_transform(X_scale)