Bird
Raised Fist0
ML Pythonml~20 mins

Why regression predicts continuous values in ML Python - Challenge Your Understanding

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Regression Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
Why does regression output continuous values?

Regression models are used to predict values. What is the main reason regression predicts continuous values instead of categories?

ABecause regression models estimate a relationship that maps inputs to a range of real numbers.
BBecause regression models classify data points into fixed groups.
CBecause regression models only work with binary outputs.
DBecause regression models use clustering to group similar data.
Attempts:
2 left
💡 Hint

Think about what kind of output a line or curve can produce.

❓ Predict Output
intermediate
1:30remaining
Output of a simple linear regression prediction

What is the output of this code predicting a value using a simple linear regression model?

ML Python
from sklearn.linear_model import LinearRegression
import numpy as np

X = np.array([[1], [2], [3], [4]])
y = np.array([2, 4, 6, 8])
model = LinearRegression().fit(X, y)
prediction = model.predict(np.array([[5]]))
print(prediction[0])
A8.0
B12.0
C5.0
D10.0
Attempts:
2 left
💡 Hint

The model fits y = 2 * x. What is y when x = 5?

❓ Model Choice
advanced
1:30remaining
Choosing a model for continuous value prediction

You want to predict house prices based on features like size and location. Which model type is best suited for this task?

ALogistic Regression
BLinear Regression
CK-Means Clustering
DDecision Tree Classifier
Attempts:
2 left
💡 Hint

House prices are numbers that can vary widely, not categories.

❓ Hyperparameter
advanced
2:00remaining
Effect of regularization on regression output

In a regression model, what is the effect of increasing the regularization strength (like alpha in Ridge regression) on the predicted continuous values?

AIt shrinks coefficients, leading to simpler models and potentially less extreme predictions.
BIt increases the number of features used, making predictions more complex.
CIt converts continuous outputs into categories automatically.
DIt removes the intercept term, forcing predictions through zero.
Attempts:
2 left
💡 Hint

Think about how regularization controls model complexity.

❓ Metrics
expert
2:00remaining
Choosing the right metric for continuous value prediction

Which metric is most appropriate to evaluate the accuracy of a regression model predicting continuous values?

AF1 Score
BAccuracy Score
CMean Squared Error (MSE)
DConfusion Matrix
Attempts:
2 left
💡 Hint

Consider metrics that measure how close predicted numbers are to actual numbers.

Practice

(1/5)
1. Why does regression predict continuous values instead of categories?
easy
A. Because it predicts yes or no answers
B. Because it groups data into fixed classes
C. Because it only works with text data
D. Because it estimates quantities that can take any value within a range

Solution

  1. Step 1: Understand regression's purpose

    Regression is designed to predict numbers that can vary continuously, like prices or temperatures.
  2. Step 2: Compare with classification

    Classification predicts fixed groups or categories, not continuous values.
  3. Final Answer:

    Because it estimates quantities that can take any value within a range -> Option D
  4. Quick Check:

    Regression predicts continuous values = Because it estimates quantities [OK]
Hint: Regression predicts numbers, classification predicts groups [OK]
Common Mistakes:
  • Confusing regression with classification
  • Thinking regression predicts categories
  • Assuming regression only works with discrete values
2. Which of the following is the correct way to define a regression target variable in Python?
easy
A. target = [3.5, 7.2, 1.8]
B. target = ['cat', 'dog', 'bird']
C. target = ['red', 'blue', 'green']
D. target = ['yes', 'no', 'maybe']

Solution

  1. Step 1: Identify regression target type

    Regression targets are continuous numbers, like 3.5 or 7.2.
  2. Step 2: Check options for continuous values

    Only target = [3.5, 7.2, 1.8] contains numbers suitable for regression.
  3. Final Answer:

    target = [3.5, 7.2, 1.8] -> Option A
  4. Quick Check:

    Regression targets are numbers = target with floats [OK]
Hint: Regression targets are numeric lists, not categories [OK]
Common Mistakes:
  • Using categorical strings as regression targets
  • Confusing classification labels with regression targets
  • Using boolean or text values for regression
3. You want to predict house prices using regression. Your dataset has features like size (sq ft), number of rooms, and age of the house. Why is regression the right choice here?
easy
A. Because house prices belong to fixed categories like cheap or expensive
B. Because house prices are continuous values that can vary widely
C. Because regression only works with text data
D. Because regression predicts yes/no answers

Solution

  1. Step 1: Identify target variable type

    House prices are numbers that can take many values, not fixed groups.
  2. Step 2: Match problem to regression

    Regression predicts continuous numeric values, perfect for price prediction.
  3. Final Answer:

    Because house prices are continuous values that can vary widely -> Option B
  4. Quick Check:

    Price prediction = continuous value regression [OK]
Hint: Predict continuous numbers like prices with regression [OK]
Common Mistakes:
  • Treating prices as categories
  • Choosing classification instead of regression
  • Confusing regression with yes/no prediction
4. Given this simple regression model in Python using scikit-learn:
from sklearn.linear_model import LinearRegression
X = [[1], [2], [3], [4]]
y = [2.0, 4.1, 6.0, 8.1]
model = LinearRegression()
model.fit(X, y)
pred = model.predict([[5]])
print(round(pred[0], 1))

What will be the printed output?
medium
A. 10.1
B. 8.5
C. 9.9
D. 10.0

Solution

  1. Step 1: Understand the data and model

    The data roughly follows y = 2 * x with small noise. The model fits a line close to y=2x.
  2. Step 2: Predict for x=5

    Prediction is about 2 * 5 = 10, but slight noise shifts it to around 10.1.
  3. Final Answer:

    10.1 -> Option A
  4. Quick Check:

    Linear fit predicts ~10.1 for input 5 [OK]
Hint: Regression predicts near trend line values, not exact multiples [OK]
Common Mistakes:
  • Assuming exact multiples without noise
  • Confusing classification output with regression output
  • Rounding incorrectly
5. You wrote this regression code but get an error:
from sklearn.linear_model import LinearRegression
X = [1, 2, 3, 4]
y = [2.0, 4.1, 6.0, 8.1]
model = LinearRegression()
model.fit(X, y)

What is the error and how to fix it?
medium
A. model.fit needs no arguments, remove X and y
B. y should be strings, fix with y = ['2.0', '4.1', '6.0', '8.1']
C. X should be a 2D array, fix with X = [[1], [2], [3], [4]]
D. LinearRegression only works with categorical data

Solution

  1. Step 1: Identify input shape error

    scikit-learn expects X as 2D array (list of lists), but X is 1D list.
  2. Step 2: Fix input shape

    Wrap each value in a list: X = [[1], [2], [3], [4]] to make it 2D.
  3. Final Answer:

    X should be a 2D array, fix with X = [[1], [2], [3], [4]] -> Option C
  4. Quick Check:

    Input X must be 2D array for regression [OK]
Hint: Regression input X must be 2D array, not 1D list [OK]
Common Mistakes:
  • Passing 1D list instead of 2D array for X
  • Changing y to strings incorrectly
  • Removing required fit arguments
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