Bird
Raised Fist0
ML Pythonml~5 mins

Handling missing values in ML Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What are missing values in a dataset?
Missing values are data points that are not recorded or are absent in a dataset. They can happen due to errors, skipped questions, or data loss.
Click to reveal answer
beginner
Name two simple methods to handle missing values.
Two simple methods are: 1) Removing rows or columns with missing values, 2) Filling missing values with a fixed value like mean, median, or mode.
Click to reveal answer
intermediate
Why is it sometimes better to fill missing values instead of removing them?
Filling missing values keeps more data for learning, which can improve model accuracy. Removing too many rows or columns can lose important information.
Click to reveal answer
beginner
What is mean imputation?
Mean imputation replaces missing values in a numeric column with the average (mean) of the available values in that column.
Click to reveal answer
intermediate
What is a potential downside of using mean imputation?
Mean imputation can reduce data variability and may bias the model because it ignores the natural spread of data and relationships between features.
Click to reveal answer
What does 'dropping missing values' mean?
AReplacing missing values with zeros
BRemoving rows or columns that contain missing data
CIgnoring missing values during training
DPredicting missing values using a model
Which method fills missing numeric values with the average of the column?
AMean imputation
BMedian imputation
CMode imputation
DForward fill
Why might removing all rows with missing values be a bad idea?
AIt fills missing values automatically
BIt always improves model accuracy
CIt can cause loss of too much data
DIt changes the data types
Which of these is NOT a common way to fill missing values?
AUsing mean or median
BUsing mode for categorical data
CUsing random noise
DDropping the entire dataset
What is a risk of using mean imputation?
AIt can bias the model by reducing variability
BIt removes all missing values permanently
CIt increases data variability
DIt only works for categorical data
Explain why handling missing values is important before training a machine learning model.
Think about what happens if the model sees empty spots in data.
You got /3 concepts.
    Describe two common techniques to handle missing values and when you might use each.
    Consider small vs large amounts of missing data.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main reason to handle missing values before training a machine learning model?
      easy
      A. Missing values are automatically ignored by all models
      B. Missing values can cause errors or reduce model accuracy
      C. Missing values improve model training speed
      D. Missing values increase the size of the dataset

      Solution

      1. Step 1: Understand the impact of missing values

        Missing values can cause errors or confuse the model, leading to poor predictions.
      2. Step 2: Recognize model requirements

        Most machine learning models require complete data without missing values to work properly.
      3. Final Answer:

        Missing values can cause errors or reduce model accuracy -> Option B
      4. Quick Check:

        Missing values harm model accuracy = D [OK]
      Hint: Missing data breaks models, so fix it first [OK]
      Common Mistakes:
      • Thinking missing values speed up training
      • Assuming models ignore missing data automatically
      • Believing missing values increase dataset size
      2. Which of the following is the correct way to import and use SimpleImputer from scikit-learn to fill missing values with the mean?
      easy
      A. from sklearn.impute import SimpleImputer\nimputer = SimpleImputer(method='mean')
      B. import SimpleImputer from sklearn.impute\nimputer = SimpleImputer('mean')
      C. from sklearn.imputer import SimpleImputer\nimputer = SimpleImputer(strategy=mean)
      D. from sklearn.impute import SimpleImputer\nimputer = SimpleImputer(strategy='mean')

      Solution

      1. Step 1: Check import syntax

        The correct import is 'from sklearn.impute import SimpleImputer'.
      2. Step 2: Check SimpleImputer initialization

        The strategy parameter must be a string like 'mean', so strategy='mean' is correct.
      3. Final Answer:

        from sklearn.impute import SimpleImputer\nimputer = SimpleImputer(strategy='mean') -> Option D
      4. Quick Check:

        Correct import and strategy syntax = A [OK]
      Hint: Use strategy='mean' and correct import syntax [OK]
      Common Mistakes:
      • Using 'method' instead of 'strategy'
      • Not quoting 'mean' as a string
      • Wrong import statement syntax
      3. Given the following code, what will be the output of print(X_imputed)?
      import numpy as np
      from sklearn.impute import SimpleImputer
      
      X = np.array([[1, 2], [np.nan, 3], [7, np.nan]])
      imputer = SimpleImputer(strategy='mean')
      imputer.fit(X)
      X_imputed = imputer.transform(X)
      print(X_imputed)
      medium
      A. [[1. 2.] [4. 3.] [7. 2.5]]
      B. [[1. 2.] [nan 3.] [7. nan]]
      C. [[1. 2.] [4. 3.] [7. nan]]
      D. Error due to missing values

      Solution

      1. Step 1: Calculate mean ignoring missing values

        Column 0 mean = (1 + 7) / 2 = 4; Column 1 mean = (2 + 3) / 2 = 2.5
      2. Step 2: Replace missing values with column means

        Replace np.nan in row 2, col 0 with 4; replace np.nan in row 3, col 1 with 2.5
      3. Final Answer:

        [[1. 2.] [4. 3.] [7. 2.5]] -> Option A
      4. Quick Check:

        Missing values replaced by column means = B [OK]
      Hint: Mean replaces NaN with average of column values [OK]
      Common Mistakes:
      • Not calculating mean correctly
      • Leaving NaNs unchanged
      • Expecting an error instead of imputation
      4. Identify the error in the following code snippet for imputing missing values:
      from sklearn.impute import SimpleImputer
      
      X_train = [[1, 2], [None, 3], [7, None]]
      imputer = SimpleImputer(strategy='median')
      imputer.transform(X_train)
      medium
      A. Using null instead of np.nan causes error
      B. Incorrect strategy name 'median'
      C. Missing fit() call before transform()
      D. SimpleImputer cannot handle 2D lists

      Solution

      1. Step 1: Check method sequence

        SimpleImputer requires fit() before transform() to learn statistics from data.
      2. Step 2: Verify data and strategy

        Strategy 'median' is valid; None is accepted as missing; 2D list is acceptable.
      3. Final Answer:

        Missing fit() call before transform() -> Option C
      4. Quick Check:

        fit() must precede transform() = A [OK]
      Hint: Always fit before transform with SimpleImputer [OK]
      Common Mistakes:
      • Calling transform without fit
      • Confusing strategy names
      • Thinking None is invalid missing value
      5. You have a training set with missing values and a test set with missing values in the same columns. What is the best practice to handle missing values before training and evaluating a model?
      hard
      A. Fit the imputer on training data, then transform both training and test data
      B. Fit the imputer separately on training and test data
      C. Fill missing values in test data with zeros, training data with mean
      D. Remove all rows with missing values from both datasets

      Solution

      1. Step 1: Understand data leakage risk

        Fitting imputer separately on test data leaks information from test set, causing biased evaluation.
      2. Step 2: Apply consistent imputation

        Fit imputer only on training data to learn statistics, then apply same transformation to test data.
      3. Final Answer:

        Fit the imputer on training data, then transform both training and test data -> Option A
      4. Quick Check:

        Fit on train, transform both = C [OK]
      Hint: Fit imputer on train only, then transform test [OK]
      Common Mistakes:
      • Fitting imputer separately on test data
      • Filling test missing values with zeros arbitrarily
      • Dropping too much data unnecessarily
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard