gemseo / mlearning / transformers / scaler

# min_max_scaler module¶

Scaling a variable with a geometrical linear transformation.

The MinMaxScaler class implements the MinMax scaling method applying to some parameter $$z$$:

$\bar{z} := \text{offset} + \text{coefficient}\times z = \frac{z-\text{min}(z)}{(\text{max}(z)-\text{min}(z))},$

where $$\text{offset}=-\text{min}(z)/(\text{max}(z)-\text{min}(z))$$ and $$\text{coefficient}=1/(\text{max}(z)-\text{min}(z))$$.

In the MinMax scaling method, the scaling operation linearly transforms the original variable $$z$$ such that the minimum of the original data corresponds to 0 and the maximum to 1.

Warning

When $$\text{min}(z)=\text{max}(z)\neq 0$$, we use $$\bar{z}=\frac{z}{\text{min}(z)}-0.5$$. When $$\text{min}(z)=\text{max}(z)=0$$, we use $$\bar{z}=z+0.5$$.

class gemseo.mlearning.transformers.scaler.min_max_scaler.MinMaxScaler(name='MinMaxScaler', offset=0.0, coefficient=1.0)[source]

Bases: Scaler

Min-max scaler.

Parameters:
• name (str) –

A name for this transformer.

By default it is set to “MinMaxScaler”.

• offset (float) –

The offset of the linear transformation.

By default it is set to 0.0.

• coefficient (float) –

The coefficient of the linear transformation.

By default it is set to 1.0.

compute_jacobian(data, *args, **kwargs)

Force a NumPy array to be 2D and evaluate the function f with it.

Parameters:
• data (ndarray) – A 1D or 2D NumPy array.

• *args (Any) – The description is missing.

• **kwargs (Any) – The description is missing.

Returns:

Any kind of output; if a NumPy array, its dimension is made consistent with the shape of data.

Return type:

Any

compute_jacobian_inverse(data, *args, **kwargs)

Force a NumPy array to be 2D and evaluate the function f with it.

Parameters:
• data (ndarray) – A 1D or 2D NumPy array.

• *args (Any) – The description is missing.

• **kwargs (Any) – The description is missing.

Returns:

Any kind of output; if a NumPy array, its dimension is made consistent with the shape of data.

Return type:

Any

duplicate()

Duplicate the current object.

Returns:

A deepcopy of the current instance.

Return type:

Transformer

fit(data, *args)

Fit the transformer to the data.

Parameters:
• data (ndarray) – The data to be fitted, shaped as (n_observations, n_features) or (n_observations, ).

• args (float | int | str) –

Return type:

None

fit_transform(data, *args)

Fit the transformer to the data and transform the data.

Parameters:
• data (ndarray) – The data to be transformed, shaped as (n_observations, n_features) or (n_observations, ).

• args (float | int | str) –

Returns:

The transformed data, shaped as data.

Return type:

ndarray

inverse_transform(data, *args, **kwargs)

Force a NumPy array to be 2D and evaluate the function f with it.

Parameters:
• data (ndarray) – A 1D or 2D NumPy array.

• *args (Any) – The description is missing.

• **kwargs (Any) – The description is missing.

Returns:

Any kind of output; if a NumPy array, its dimension is made consistent with the shape of data.

Return type:

Any

transform(data, *args, **kwargs)

Force a NumPy array to be 2D and evaluate the function f with it.

Parameters:
• data (ndarray) – A 1D or 2D NumPy array.

• *args (Any) – The description is missing.

• **kwargs (Any) – The description is missing.

Returns:

Any kind of output; if a NumPy array, its dimension is made consistent with the shape of data.

Return type:

Any

CROSSED: ClassVar[bool] = False

Whether the fit() method requires two data arrays.

property coefficient: ndarray

The scaling coefficient.

property is_fitted: bool

Whether the transformer has been fitted from some data.

name: str

The name of the transformer.

property offset: ndarray

The scaling offset.

property parameters: dict[str, Union[bool, int, float, numpy.ndarray, str, NoneType]]

The parameters of the transformer.

## Examples using MinMaxScaler¶

Quality measure for surrogate model comparison

Quality measure for surrogate model comparison

Scaler example

Scaler example