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)
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.
Practice
(1/5)
1. What is the main purpose of using StandardScaler in feature scaling?
easy
A. To center data to mean 0 and scale to unit variance
B. To rescale data to a fixed range like 0 to 1
C. To remove missing values from the dataset
D. To convert categorical data into numbers
Solution
Step 1: Understand what StandardScaler does
StandardScaler subtracts the mean and divides by the standard deviation for each feature.
Step 2: Compare with other options
MinMaxScaler rescales to a fixed range, not StandardScaler. Removing missing values or encoding categories is unrelated.
Final Answer:
To center data to mean 0 and scale to unit variance -> Option A
Quick Check:
StandardScaler = mean 0, variance 1 [OK]
Hint: StandardScaler centers and scales data, MinMaxScaler rescales range [OK]
Common Mistakes:
Confusing StandardScaler with MinMaxScaler
Thinking StandardScaler changes data range to 0-1
Mixing feature scaling with data cleaning
2. Which of the following is the correct way to import and create a MinMaxScaler object in Python using scikit-learn?
easy
A. from sklearn.preprocessing import StandardScaler
scaler = MinMaxScaler()
B. import sklearn.MinMaxScaler
scaler = MinMaxScaler()
C. from sklearn.scale import MinMaxScaler
scaler = MinMaxScaler()
D. from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
Solution
Step 1: Recall correct import path
MinMaxScaler is in sklearn.preprocessing module, so import from there.
Step 2: Check object creation syntax
Creating scaler with MinMaxScaler() is correct. Other options have wrong module or mismatch.
Final Answer:
from sklearn.preprocessing import MinMaxScaler\nscaler = MinMaxScaler() -> Option D
Quick Check:
Correct import and instantiation [OK]
Hint: MinMaxScaler is in sklearn.preprocessing, not sklearn.scale [OK]
Common Mistakes:
Using wrong module name like sklearn.scale
Importing StandardScaler but creating MinMaxScaler
Trying to import MinMaxScaler directly from sklearn
3. Given the data array [[2], [4], [6], [8]], what will be the output after applying MinMaxScaler()?
medium
A. [[0.0], [0.33], [0.67], [1.0]]
B. [[0.0], [0.5], [1.0], [1.5]]
C. [[-1.34], [-0.45], [0.45], [1.34]]
D. [[2], [4], [6], [8]]
Solution
Step 1: Understand MinMaxScaler formula
MinMaxScaler scales each value x as (x - min) / (max - min). Here min=2, max=8.
Step 2: Calculate scaled values
For 2: (2-2)/(8-2)=0.0; 4: (4-2)/6=0.33; 6: (6-2)/6=0.67; 8: (8-2)/6=1.0.
Final Answer:
[[0.0], [0.33], [0.67], [1.0]] -> Option A
Quick Check:
MinMaxScaler scales between 0 and 1 [OK]
Hint: MinMaxScaler maps min to 0 and max to 1 linearly [OK]
Common Mistakes:
Confusing MinMaxScaler with StandardScaler output
Not calculating min and max correctly
Expecting scaled values outside 0-1 range
4. You applied StandardScaler on a dataset but got an error: ValueError: Input contains NaN. What is the best way to fix this?
medium
A. Use StandardScaler without fitting
B. Remove or fill missing values before scaling
C. Ignore the error and continue
D. Change StandardScaler to MinMaxScaler
Solution
Step 1: Understand cause of error
StandardScaler cannot handle NaN (missing) values directly, causing ValueError.
Step 2: Fix by preprocessing data
Remove rows with NaN or fill them with mean/median before scaling to avoid error.
Final Answer:
Remove or fill missing values before scaling -> Option B
Quick Check:
Handle NaN before scaling [OK]
Hint: Clean missing data before scaling to avoid errors [OK]
Common Mistakes:
Switching scaler without fixing NaN
Ignoring error and expecting correct results
Trying to scale without fitting the scaler
5. You have two features: height (in cm) ranging from 150 to 190, and income (in thousands) ranging from 20 to 200. You want to use a model sensitive to feature scale. Which scaler should you use and why?
hard
A. Use StandardScaler to center and scale both features to mean 0 and variance 1
B. Use no scaling because features have different units
C. Use MinMaxScaler to rescale both features to 0-1 range
D. Use MinMaxScaler only on income, leave height as is
Solution
Step 1: Understand feature ranges and model sensitivity
Height and income have different units and ranges; model sensitive to scale needs comparable ranges.
Step 2: Choose scaler based on range preservation
MinMaxScaler rescales both features to 0-1, preserving relative differences and making scales comparable.
Step 3: Why not StandardScaler?
StandardScaler centers data but may produce negative values and does not bound range, which can confuse some models.
Final Answer:
Use MinMaxScaler to rescale both features to 0-1 range -> Option C
Quick Check:
MinMaxScaler = rescale to fixed range [OK]
Hint: MinMaxScaler makes features comparable by fixed range [OK]
Common Mistakes:
Using StandardScaler without considering model needs
Not scaling features with different units
Scaling only one feature and not the other
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.