Bird
Raised Fist0
ML Pythonml~5 mins

Overfitting and underfitting in ML Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is overfitting in machine learning?
Overfitting happens when a model learns the training data too well, including noise and details that don't apply to new data. It performs great on training data but poorly on new, unseen data.
Click to reveal answer
beginner
What does underfitting mean?
Underfitting occurs when a model is too simple to capture the patterns in the data. It performs poorly on both training and new data because it hasn't learned enough.
Click to reveal answer
intermediate
How can you tell if a model is overfitting by looking at training and validation errors?
If training error is very low but validation error is high, the model is likely overfitting. It means the model memorized training data but can't generalize well.
Click to reveal answer
intermediate
Name two common ways to reduce overfitting.
1. Use simpler models with fewer parameters.
2. Use techniques like regularization, dropout, or more training data.
Click to reveal answer
beginner
Why is it important to balance between overfitting and underfitting?
Balancing helps the model learn enough from data to make good predictions on new data without memorizing noise or missing important patterns.
Click to reveal answer
What happens when a model underfits the data?
AIt performs well on training data but poorly on new data
BIt performs poorly on both training and new data
CIt memorizes the training data perfectly
DIt always predicts the average value
Which of these is a sign of overfitting?
ALow training error and low validation error
BHigh training error and high validation error
CLow training error and high validation error
DHigh training error and low validation error
Which method helps reduce overfitting?
AAdding more layers to the model without limit
BIgnoring validation data
CReducing training data size
DUsing dropout during training
What is the main goal when avoiding underfitting and overfitting?
ATo generalize well to new data
BTo make the model as complex as possible
CTo memorize training data exactly
DTo ignore validation results
If a model has high error on training data, what is likely happening?
AUnderfitting
BData leakage
CPerfect fitting
DOverfitting
Explain in your own words what overfitting and underfitting mean and how they affect model performance.
Think about how a model learns from data and what happens if it learns too much or too little.
You got /4 concepts.
    Describe two techniques you can use to prevent overfitting in a machine learning model.
    Consider methods that help the model generalize better instead of memorizing.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does overfitting mean in machine learning?
      easy
      A. The model is too simple and misses important patterns
      B. The model learns noise and details too well, failing on new data
      C. The model perfectly predicts new data without errors
      D. The model ignores training data completely

      Solution

      1. Step 1: Understand overfitting definition

        Overfitting happens when a model learns not only the true patterns but also the noise and random details in training data.
      2. Step 2: Match definition to options

        The model learns noise and details too well, failing on new data describes this exactly, while others describe underfitting or unrelated concepts.
      3. Final Answer:

        The model learns noise and details too well, failing on new data -> Option B
      4. Quick Check:

        Overfitting = learning noise too well [OK]
      Hint: Overfitting means memorizing training noise, not generalizing [OK]
      Common Mistakes:
      • Confusing overfitting with underfitting
      • Thinking overfitting means perfect prediction on new data
      • Believing overfitting ignores training data
      2. Which of the following is a sign of underfitting in a model?
      easy
      A. High training error but low test error
      B. Low training error but high test error
      C. Low training error and low test error
      D. High training error and high test error

      Solution

      1. Step 1: Understand underfitting error patterns

        Underfitting means the model is too simple, so it performs poorly on both training and test data, causing high errors.
      2. Step 2: Match error patterns to options

        High training error and high test error shows high errors on both training and test sets, which matches underfitting.
      3. Final Answer:

        High training error and high test error -> Option D
      4. Quick Check:

        Underfitting = high error everywhere [OK]
      Hint: Underfitting means bad on training and test data [OK]
      Common Mistakes:
      • Confusing underfitting with overfitting error patterns
      • Assuming low training error means no underfitting
      • Ignoring test error when diagnosing underfitting
      3. Consider this Python code training a model:
      from sklearn.tree import DecisionTreeClassifier
      from sklearn.datasets import load_iris
      from sklearn.model_selection import train_test_split
      
      X, y = load_iris(return_X_y=True)
      X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
      
      model = DecisionTreeClassifier(max_depth=1)
      model.fit(X_train, y_train)
      train_score = model.score(X_train, y_train)
      test_score = model.score(X_test, y_test)
      print(round(train_score, 2), round(test_score, 2))
      What is the likely output?
      medium
      A. 0.60 0.58
      B. 0.95 0.90
      C. 1.00 0.50
      D. 0.80 0.80

      Solution

      1. Step 1: Understand model complexity and max_depth=1

        A decision tree with max_depth=1 is very simple, likely underfitting the iris data, so training accuracy will be low.
      2. Step 2: Predict scores based on underfitting

        Both training and test scores will be low and close, around 0.6, matching 0.60 0.58.
      3. Final Answer:

        0.60 0.58 -> Option A
      4. Quick Check:

        Simple model = low train and test scores [OK]
      Hint: Low max_depth means underfitting, expect low accuracy [OK]
      Common Mistakes:
      • Assuming max_depth=1 gives perfect accuracy
      • Confusing training and test scores
      • Ignoring model simplicity effect
      4. This code tries to reduce overfitting but has a mistake:
      from sklearn.tree import DecisionTreeClassifier
      from sklearn.datasets import load_iris
      from sklearn.model_selection import train_test_split
      
      X, y = load_iris(return_X_y=True)
      X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
      
      model = DecisionTreeClassifier(max_depth=10)
      model.fit(X_train, y_train)
      print(model.score(X_train, y_train))
      print(model.score(X_test, y_test))
      
      # To reduce overfitting, we set max_depth=1
      model.max_depth = 1
      print(model.score(X_train, y_train))
      print(model.score(X_test, y_test))
      What is the error in this approach?
      medium
      A. Changing max_depth after fitting does not affect the model
      B. max_depth=1 causes syntax error
      C. fit() method cannot be called twice
      D. max_depth must be set to None to reduce overfitting

      Solution

      1. Step 1: Understand how max_depth affects model

        max_depth is a parameter set when creating the model. Changing it after fitting does not change the trained model.
      2. Step 2: Identify mistake in code

        Setting model.max_depth=1 after fitting does not reduce overfitting. The model must be recreated with max_depth=1 before fitting.
      3. Final Answer:

        Changing max_depth after fitting does not affect the model -> Option A
      4. Quick Check:

        Parameters must be set before fit() [OK]
      Hint: Set parameters before fit(), changing after does nothing [OK]
      Common Mistakes:
      • Thinking changing max_depth after fit changes model
      • Believing fit() can only be called once
      • Confusing parameter setting with method calls
      5. You have a model that overfits training data. Which combination of techniques can help reduce overfitting effectively?
      hard
      A. Increase model complexity and reduce training data
      B. Remove validation set and train longer
      C. Use regularization and increase training data size
      D. Use fewer features and increase learning rate

      Solution

      1. Step 1: Identify techniques to reduce overfitting

        Overfitting can be reduced by regularization (penalties to simplify model) and by increasing training data to help generalize better.
      2. Step 2: Evaluate options

        Use regularization and increase training data size correctly combines regularization and more data. Other options either increase complexity or remove validation, which worsen overfitting.
      3. Final Answer:

        Use regularization and increase training data size -> Option C
      4. Quick Check:

        Regularization + more data = less overfitting [OK]
      Hint: Regularize and add data to fight overfitting [OK]
      Common Mistakes:
      • Increasing complexity to fix overfitting
      • Ignoring validation data importance
      • Increasing learning rate without reason
      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