Bird
Raised Fist0
ML Pythonml~5 mins

Multiple linear regression in ML Python

Choose your learning style10 modes available
Introduction

Multiple linear regression helps us understand how several things together affect one result. It finds a simple formula to predict the result from many inputs.

You want to predict house prices based on size, number of rooms, and location.
You want to estimate a student's test score using hours studied, sleep, and attendance.
You want to find how temperature, humidity, and wind speed affect electricity usage.
You want to understand how advertising on TV, radio, and newspapers impacts sales.
Syntax
ML Python
y = b0 + b1*x1 + b2*x2 + ... + bn*xn + error

y is the result we want to predict.

b0 is the starting point (intercept), and b1, b2, ..., bn are the weights for each input x1, x2, ..., xn.

Examples
This means y starts at 5, then adds 2 times x1 and 3 times x2.
ML Python
y = 5 + 2*x1 + 3*x2
Predict y using age, income, and education with their own weights.
ML Python
y = b0 + b1*age + b2*income + b3*education
Sample Model

This code trains a multiple linear regression model to predict house prices from size and number of rooms. It then predicts the price of a new house.

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

# Sample data: features are size (sq ft), number of rooms
X = np.array([[1500, 3], [1800, 4], [2400, 3], [3000, 5], [3500, 4]])
# Target: house price in $1000s
y = np.array([400, 500, 600, 650, 700])

model = LinearRegression()
model.fit(X, y)

print(f"Intercept (b0): {model.intercept_:.2f}")
print(f"Coefficients (b1, b2): {model.coef_}")

# Predict price for a house with 2000 sq ft and 3 rooms
new_house = np.array([[2000, 3]])
predicted_price = model.predict(new_house)
print(f"Predicted price for 2000 sq ft, 3 rooms: {predicted_price[0]:.2f} thousand dollars")
OutputSuccess
Important Notes

Make sure your input features are numbers and scaled similarly for better results.

Multiple linear regression assumes a straight-line relationship between inputs and output.

Check for outliers as they can affect the model a lot.

Summary

Multiple linear regression predicts a result using many inputs combined.

It finds weights for each input to best match the known results.

It is useful for simple predictions and understanding relationships.

Practice

(1/5)
1. What does multiple linear regression do in simple terms?
easy
A. It predicts a result using several input features combined.
B. It groups data into clusters based on similarity.
C. It reduces the number of features by combining them.
D. It finds the shortest path between two points.

Solution

  1. Step 1: Understand the purpose of multiple linear regression

    Multiple linear regression uses multiple inputs to predict a single output by finding the best weights for each input.
  2. Step 2: Compare options with this understanding

    Only It predicts a result using several input features combined. correctly describes predicting a result using several inputs combined.
  3. Final Answer:

    It predicts a result using several input features combined. -> Option A
  4. Quick Check:

    Multiple inputs predict output = A [OK]
Hint: Remember: multiple inputs, one output prediction [OK]
Common Mistakes:
  • Confusing regression with clustering
  • Thinking it reduces features instead of weighting them
  • Mixing it up with pathfinding algorithms
2. Which of the following is the correct formula for multiple linear regression prediction?
easy
A. y = w0 + w1*x1 + w2*x2 + ... + wn*xn
B. y = w0 * x1 + w1 * x2 + ... + wn * xn
C. y = w0 / x1 + w1 / x2 + ... + wn / xn
D. y = w0 - w1*x1 - w2*x2 - ... - wn*xn

Solution

  1. Step 1: Recall the multiple linear regression formula

    The prediction is a sum of a bias term plus each input multiplied by its weight: y = w0 + w1*x1 + w2*x2 + ... + wn*xn.
  2. Step 2: Check each option against the formula

    Only y = w0 + w1*x1 + w2*x2 + ... + wn*xn matches the correct formula with addition and multiplication.
  3. Final Answer:

    y = w0 + w1*x1 + w2*x2 + ... + wn*xn -> Option A
  4. Quick Check:

    Sum of weighted inputs plus bias = B [OK]
Hint: Sum weighted inputs plus bias for prediction [OK]
Common Mistakes:
  • Using multiplication instead of addition between terms
  • Dividing weights by inputs
  • Subtracting weights instead of adding
3. Given weights w0=2, w1=3, w2=-1 and inputs x1=4, x2=5, what is the predicted value y using multiple linear regression?
medium
A. 9.5
B. 9
C. 5
D. 10

Solution

  1. Step 1: Apply the formula y = w0 + w1*x1 + w2*x2

    Substitute values: y = 2 + 3*4 + (-1)*5.
  2. Step 2: Calculate the prediction

    Calculate: 3*4 = 12, (-1)*5 = -5, sum = 2 + 12 - 5 = 9.
  3. Step 3: Recheck calculation

    Sum is 9, but 10 says 10, so re-check: 2 + 12 - 5 = 9, so correct answer is 9.
  4. Final Answer:

    9 -> Option B
  5. Quick Check:

    2 + 12 - 5 = 9 [OK]
Hint: Multiply weights by inputs, then add bias [OK]
Common Mistakes:
  • Adding weights instead of multiplying by inputs
  • Forgetting to add bias term w0
  • Mixing up signs of weights
4. Identify the error in this Python code for multiple linear regression prediction:
def predict(x1, x2, w0, w1, w2):
    return w0 + w1 * x1 + w2 + x2

print(predict(3, 4, 1, 2, 3))
medium
A. The print statement syntax is incorrect.
B. The function is missing a return statement.
C. The function parameters are in wrong order.
D. The term w2 + x2 should be w2 * x2 for correct multiplication.

Solution

  1. Step 1: Analyze the formula inside the function

    The formula should multiply each input by its weight: w0 + w1*x1 + w2*x2.
  2. Step 2: Identify the mistake in the code

    The code uses w2 + x2 instead of w2 * x2, which adds instead of multiplies.
  3. Final Answer:

    The term w2 + x2 should be w2 * x2 for correct multiplication. -> Option D
  4. Quick Check:

    Multiplication needed, not addition = A [OK]
Hint: Check all input-weight pairs use multiplication [OK]
Common Mistakes:
  • Using + instead of * between weight and input
  • Forgetting return statement (not here though)
  • Mixing parameter order
  • Incorrect print syntax
5. You have a dataset with features: hours studied (x1), hours slept (x2), and exam score (y). You fit a multiple linear regression model and get weights: w0=5, w1=4, w2=2. What does the weight w1=4 tell you about hours studied?
hard
A. Hours slept affects exam score more than hours studied.
B. Hours studied has no effect on exam score.
C. For each extra hour studied, exam score increases by 4 points, holding sleep constant.
D. Exam score decreases by 4 points for each hour studied.

Solution

  1. Step 1: Understand the meaning of weights in multiple linear regression

    Each weight shows how much the output changes when that input increases by one unit, keeping others fixed.
  2. Step 2: Interpret w1=4 for hours studied

    A weight of 4 means exam score increases by 4 points for each additional hour studied, assuming hours slept stays the same.
  3. Final Answer:

    For each extra hour studied, exam score increases by 4 points, holding sleep constant. -> Option C
  4. Quick Check:

    Weight shows effect per unit input = D [OK]
Hint: Weight = change in output per unit input [OK]
Common Mistakes:
  • Thinking weight means no effect
  • Confusing positive and negative effect
  • Mixing effects of different features
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