What is the main goal of model comparison in machine learning?
The main goal is to find the best model that makes the most accurate predictions on new, unseen data.
Click to reveal answer
beginner
What is cross-validation and why is it used in model comparison?
Cross-validation splits data into parts to train and test models multiple times. It helps check how well a model will perform on new data and reduces bias from a single train-test split.
Click to reveal answer
beginner
Explain the difference between training error and test error.
Training error measures mistakes on data the model learned from. Test error measures mistakes on new data. Test error shows how well the model generalizes to unseen data.
Click to reveal answer
intermediate
What is overfitting and how does it affect model comparison?
Overfitting happens when a model learns the training data too well, including noise, causing poor performance on new data. It can make a model look good during training but bad during testing.
Click to reveal answer
beginner
Name two common metrics used to compare classification models.
Accuracy and F1-score are common metrics. Accuracy measures overall correct predictions. F1-score balances precision and recall, useful when classes are imbalanced.
Click to reveal answer
Which method helps estimate model performance by splitting data multiple times?
AData augmentation
BCross-validation
CFeature scaling
DGradient descent
✗ Incorrect
Cross-validation splits data into parts to train and test models multiple times, helping estimate performance.
What does a high training accuracy but low test accuracy usually indicate?
AOverfitting
BData leakage
CGood generalization
DUnderfitting
✗ Incorrect
High training accuracy but low test accuracy means the model learned training data too well and fails on new data, which is overfitting.
Which metric is best when classes are imbalanced?
AF1-score
BAccuracy
CMean squared error
DR-squared
✗ Incorrect
F1-score balances precision and recall, making it better for imbalanced classes.
Why is it important to compare models on test data rather than training data?
ATraining data is always biased
BTraining data is noisy
CTest data is larger
DTest data shows how models perform on new data
✗ Incorrect
Test data helps evaluate how well a model generalizes to new, unseen data.
Which strategy helps reduce bias in model performance estimates?
AIgnoring test data
BSingle train-test split
CCross-validation
DUsing only training error
✗ Incorrect
Cross-validation reduces bias by averaging performance over multiple splits.
Describe how cross-validation works and why it is useful for comparing models.
Think about how you can test a model many times on different parts of data.
You got /4 concepts.
Explain the difference between overfitting and underfitting and how they affect model comparison.
Consider when a model learns too much noise vs. when it learns too little.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of model comparison in machine learning?
easy
A. To increase the size of the training data
B. To reduce the number of features in the dataset
C. To find the best model for the task using fair evaluation
D. To speed up the training process
Solution
Step 1: Understand model comparison goal
Model comparison aims to select the best model by evaluating multiple models on the same task.
Step 2: Identify correct purpose
Increasing data size, reducing features, or speeding training are not the main goals of model comparison.
Final Answer:
To find the best model for the task using fair evaluation -> Option C
Quick Check:
Model comparison = best model selection [OK]
Hint: Model comparison picks the best model fairly [OK]
Common Mistakes:
Confusing model comparison with data preprocessing
Thinking it speeds up training
Mixing it with feature selection
2. Which of the following is the correct way to compare two models using accuracy in Python?
easy
A. print(accuracy_score(y_true, model1.predict(X)) > accuracy_score(y_true, model2.predict(X)))
B. print(model1.accuracy > model2.accuracy)
C. print(model1.predict(X) > model2.predict(X))
D. print(model1.score(X_train) == model2.score(X_test))
Solution
Step 1: Understand accuracy comparison
Accuracy should be computed using true labels and predictions, not model attributes directly.
Step 2: Check each option
print(accuracy_score(y_true, model1.predict(X)) > accuracy_score(y_true, model2.predict(X))) correctly uses accuracy_score with true labels and predictions for both models.
Final Answer:
print(accuracy_score(y_true, model1.predict(X)) > accuracy_score(y_true, model2.predict(X))) -> Option A
Quick Check:
Use accuracy_score with true labels and predictions [OK]
Hint: Compare metrics computed on true labels and predictions [OK]
Common Mistakes:
Comparing model attributes directly
Comparing predictions without labels
Mixing train and test data in scoring
3. Given the code below, what will be printed?
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
model1 = LogisticRegression()
model2 = LogisticRegression(C=0.1)
scores1 = cross_val_score(model1, X, y, cv=5)
scores2 = cross_val_score(model2, X, y, cv=5)
print(scores1.mean() > scores2.mean())
medium
A. False if model1 has higher average cross-validation score
B. True if model1 has higher average cross-validation score
C. Always True
D. SyntaxError due to missing imports
Solution
Step 1: Understand cross_val_score output
cross_val_score returns an array of scores for each fold; mean() gives average performance.
Step 2: Compare mean scores
The print statement compares which model has higher average score and prints True or False accordingly.
Final Answer:
True if model1 has higher average cross-validation score -> Option B
Quick Check:
Mean cross-val scores compared, prints True if model1 better [OK]
Hint: Cross-validation mean score comparison prints True if first is better [OK]
Common Mistakes:
Assuming print always outputs True
Confusing cross_val_score output with single score
Missing that mean() is needed for average
4. You run this code to compare two models but get an error:
from sklearn.metrics import accuracy_score
acc1 = accuracy_score(y_true, model1.predict(X_test))
acc2 = accuracy_score(y_true, model2.predict(X_test))
if acc1 > acc2:
print('Model 1 is better')
else
print('Model 2 is better')
What is the error and how to fix it?
medium
A. IndentationError due to wrong indent; fix indentation
B. NameError because y_true is undefined; define y_true
C. TypeError because predict returns probabilities; use predict_classes
D. SyntaxError due to missing colon after else; add ':' after else
Solution
Step 1: Identify syntax error in if-else block
The else statement is missing a colon at the end, causing a SyntaxError.
Step 2: Fix syntax by adding colon
Add ':' after else to correct the syntax and run the code successfully.
Final Answer:
SyntaxError due to missing colon after else; add ':' after else -> Option D
Quick Check:
Missing colon after else causes SyntaxError [OK]
Hint: Check colons after if/else statements [OK]
Common Mistakes:
Ignoring missing colon after else
Assuming predict returns classes always
Confusing indentation error with syntax error
5. You want to compare three models fairly on a small dataset. Which strategy is best to get reliable results?
hard
A. Use cross-validation with the same metric for all models
B. Train models on different datasets and compare their training loss
C. Use a single train/test split and compare accuracy
D. Compare models only by their training accuracy
Solution
Step 1: Understand fair comparison on small data
Single splits can be unreliable; training accuracy is biased; different datasets cause unfairness.
Step 2: Choose cross-validation with same metric
Cross-validation uses multiple splits to reduce randomness and comparing with the same metric ensures fairness.
Final Answer:
Use cross-validation with the same metric for all models -> Option A
Quick Check:
Cross-validation + same metric = reliable fair comparison [OK]
Hint: Cross-validation with same metric ensures fair comparison [OK]
Common Mistakes:
Using single train/test split only
Comparing training accuracy instead of test
Using different datasets for each model
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.