0
0
ML Pythonprogramming~5 mins

Feature scaling (StandardScaler, MinMaxScaler) in ML Python

Choose your learning style9 modes available
Introduction

Feature scaling helps make data values similar in size. This helps many machine learning models learn better and faster.

When features have very different ranges, like age (0-100) and income (thousands).
Before training models like K-Nearest Neighbors or Support Vector Machines.
When using gradient-based models like neural networks to speed up learning.
When you want to compare features fairly by putting them on the same scale.
Syntax
ML Python
from sklearn.preprocessing import StandardScaler, MinMaxScaler

# Create scaler
scaler = StandardScaler()  # or MinMaxScaler()

# Fit scaler on training data
scaler.fit(X_train)

# Transform data
X_train_scaled = scaler.transform(X_train)
X_test_scaled = scaler.transform(X_test)

StandardScaler makes data have mean 0 and standard deviation 1.

MinMaxScaler scales data to a fixed range, usually 0 to 1.

Examples
StandardScaler fits and transforms data in one step.
ML Python
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
MinMaxScaler scales data between 0 and 1.
ML Python
from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler(feature_range=(0, 1))
X_scaled = scaler.fit_transform(X)
You can change the scaling range, for example from -1 to 1.
ML Python
from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler(feature_range=(-1, 1))
X_scaled = scaler.fit_transform(X)
Sample Program

This code shows how StandardScaler and MinMaxScaler change the same data.

ML Python
from sklearn.preprocessing import StandardScaler, MinMaxScaler
import numpy as np

# Sample data: 3 samples, 2 features
X = np.array([[10, 200], [20, 300], [30, 400]])

# StandardScaler example
scaler_std = StandardScaler()
X_std = scaler_std.fit_transform(X)

print('StandardScaler result:')
print(X_std)

# MinMaxScaler example
scaler_mm = MinMaxScaler()
X_mm = scaler_mm.fit_transform(X)

print('\nMinMaxScaler result:')
print(X_mm)
OutputSuccess
Important Notes

Always fit the scaler only on training data, then transform test data to avoid data leakage.

Feature scaling does not change the shape of data, only the values.

Some models like tree-based models do not need feature scaling.

Summary

Feature scaling makes features comparable by adjusting their ranges.

StandardScaler centers data to mean 0 and scales to unit variance.

MinMaxScaler rescales data to a fixed range, usually 0 to 1.