📖 Scenario: You work as a data analyst. You have a list of heights of people in centimeters. You want to prepare this data for analysis by scaling and normalizing it. This helps to compare values fairly and use them in machine learning later.
🎯 Goal: Learn how to scale and normalize a list of numbers using simple Python code. You will create the data, set a scale range, apply min-max scaling, and then normalize the scaled data.
📋 What You'll Learn
Create a list of heights with exact values
Create variables for minimum and maximum scale values
Apply min-max scaling to the heights list
Normalize the scaled heights using L2 norm
Print the final normalized list
💡 Why This Matters
🌍 Real World
Scaling and normalization are common steps in preparing data for machine learning and statistics. They help algorithms work better by making data comparable.
💼 Career
Data analysts and data scientists often need to scale and normalize data before building models or visualizations.
Progress0 / 4 steps
1
Create the heights data list
Create a list called heights with these exact values: 150, 160, 170, 180, 190.
Data Analysis Python
Hint
Use square brackets to create a list and separate numbers with commas.
2
Set the scale range for min-max scaling
Create two variables: min_scale set to 0 and max_scale set to 1 to define the scaling range.
Data Analysis Python
Hint
Just assign 0 to min_scale and 1 to max_scale.
3
Apply min-max scaling to the heights list
Create a new list called scaled_heights using a list comprehension. Scale each height using min-max scaling formula: (height - min(heights)) / (max(heights) - min(heights)) * (max_scale - min_scale) + min_scale.
Data Analysis Python
Hint
Use a list comprehension with the formula given to scale each height.
4
Normalize the scaled heights and print the result
Import math module. Calculate the L2 norm of scaled_heights as the square root of the sum of squares. Create a list called normalized_heights by dividing each scaled height by the L2 norm. Finally, print normalized_heights.
Data Analysis Python
Hint
Use math.sqrt and sum of squares to find L2 norm. Then divide each scaled height by this norm.
Practice
(1/5)
1. What is the main purpose of scaling and normalization in data analysis?
easy
A. To convert data into categorical variables
B. To adjust data to a common scale for fair comparison
C. To remove missing values from the data
D. To increase the size of the dataset
Solution
Step 1: Understand the goal of scaling and normalization
Scaling and normalization adjust data values so they can be compared fairly by putting them on the same scale.
Step 2: Eliminate unrelated options
Increasing dataset size, removing missing values, or converting to categories are different data tasks, not scaling.
Final Answer:
To adjust data to a common scale for fair comparison -> Option B
Quick Check:
Scaling purpose = common scale adjustment [OK]
Hint: Scaling makes data comparable by using the same scale [OK]
Common Mistakes:
Confusing scaling with data cleaning
Thinking scaling changes data size
Mixing scaling with encoding categorical data
2. Which of the following is the correct syntax to apply Min-Max scaling using scikit-learn in Python?
easy
A. from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaled_data = scaler.fit_transform(data)
B. from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaled_data = scaler.fit(data)
C. import sklearn
scaled_data = sklearn.MinMaxScaler(data)
D. from sklearn.preprocessing import MinMaxScaler
scaled_data = MinMaxScaler(data)
Solution
Step 1: Recall correct Min-Max scaling syntax
MinMaxScaler is imported, instantiated, then fit_transform is called on data.
Step 2: Check each option
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaled_data = scaler.fit_transform(data) matches correct usage; B uses StandardScaler and fit only; C and D misuse the class.
Final Answer:
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaled_data = scaler.fit_transform(data) -> Option A
Hint: MinMaxScaler needs fit_transform, not just fit [OK]
Common Mistakes:
Using StandardScaler instead of MinMaxScaler
Calling fit instead of fit_transform
Incorrect import or instantiation syntax
3. Given the data array [10, 20, 30], what is the result after applying Min-Max scaling to range 0-1?
medium
A. [0.0, 0.5, 1.0]
B. [10, 20, 30]
C. [-1.0, 0.0, 1.0]
D. [0.33, 0.66, 1.0]
Solution
Step 1: Calculate min and max of data
Minimum is 10, maximum is 30.
Step 2: Apply Min-Max formula to each value
Formula: (x - min) / (max - min). For 10: (10-10)/(30-10)=0, for 20: (20-10)/20=0.5, for 30: (30-10)/20=1.0.
Final Answer:
[0.0, 0.5, 1.0] -> Option A
Quick Check:
Min-Max scaled values = [0, 0.5, 1] [OK]
Hint: Min-Max scales min to 0 and max to 1 [OK]
Common Mistakes:
Forgetting to subtract min before dividing
Confusing Min-Max with Standard scaling
Incorrect division by max instead of (max-min)
4. Identify the error in this code snippet for standard scaling:
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler
scaled = scaler.fit_transform(data)
medium
A. fit_transform method does not exist
B. StandardScaler should be imported from sklearn.preprocessing.preprocessing
C. Data variable is not defined
D. StandardScaler is not instantiated with parentheses
Solution
Step 1: Check StandardScaler instantiation
StandardScaler must be called with parentheses to create an object: StandardScaler()
Step 2: Verify other parts
fit_transform exists; data variable assumed defined; import path is correct.
Final Answer:
StandardScaler is not instantiated with parentheses -> Option D
Quick Check:
Instantiate classes with () [OK]
Hint: Remember to add () when creating scaler object [OK]
Common Mistakes:
Forgetting parentheses when instantiating scaler
Assuming fit_transform is missing
Incorrect import paths
5. You have a dataset with features on very different scales. You want to prepare it for a machine learning model that assumes data centered around zero with unit variance. Which scaling method should you use and why?
hard
A. No scaling, because models handle different scales automatically
B. Min-Max scaling, because it rescales data to 0-1 range
C. Standard scaling, because it centers data to mean 0 and scales to unit variance
D. Log transformation, because it normalizes data distribution
Solution
Step 1: Understand model assumptions
The model expects data centered at zero with variance 1, which matches standard scaling.
Step 2: Compare scaling methods
Min-Max scales to 0-1, not centered; log transforms distribution shape but not centering; no scaling ignores assumptions.
Final Answer:
Standard scaling, because it centers data to mean 0 and scales to unit variance -> Option C
Quick Check:
Centering and scaling = StandardScaler [OK]
Hint: Use StandardScaler for zero mean and unit variance data [OK]
Common Mistakes:
Choosing Min-Max when centering is needed
Skipping scaling assuming model handles it
Confusing log transform with scaling
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.