Bird
Raised Fist0
ML Pythonml~5 mins

Polynomial regression in ML Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is polynomial regression?
Polynomial regression is a type of regression analysis where the relationship between the input variable and the output variable is modeled as an nth degree polynomial. It helps capture curved patterns in data.
Click to reveal answer
beginner
Why use polynomial regression instead of linear regression?
Polynomial regression is used when data shows a curved or nonlinear relationship. Linear regression fits a straight line, which may not capture the true pattern if the data curves.
Click to reveal answer
beginner
How do you create polynomial features from a single input variable x?
You create new features by raising x to powers: x, x², x³, ..., up to the desired degree. These new features let the model fit curves instead of just a line.
Click to reveal answer
intermediate
What is overfitting in polynomial regression?
Overfitting happens when the polynomial degree is too high, causing the model to fit noise in the training data instead of the true pattern. This leads to poor predictions on new data.
Click to reveal answer
beginner
How can you evaluate the performance of a polynomial regression model?
You can use metrics like Mean Squared Error (MSE) or R-squared on test data to see how well the model predicts. Lower MSE and higher R-squared mean better fit.
Click to reveal answer
What does polynomial regression model?
ACategorical data
BOnly straight lines
CA curved relationship between variables
DRandom noise
Which feature would you add for a 3rd degree polynomial regression?
Ax, x², x³
Bx only
Cx and x² only
Dx⁴
What problem can happen if the polynomial degree is too high?
AOverfitting
BFaster training
CUnderfitting
DNo change
Which metric measures average squared difference between predicted and actual values?
AAccuracy
BMean Squared Error
CPrecision
DRecall
Polynomial regression is a type of:
ADimensionality reduction
BClustering
CClassification
DRegression
Explain how polynomial regression differs from linear regression and when you would use it.
Think about the shape of the data and how the model fits it.
You got /3 concepts.
    Describe the risk of overfitting in polynomial regression and how it affects predictions.
    Consider what happens when the model learns noise instead of the pattern.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of polynomial regression in machine learning?
      easy
      A. To perform clustering on unlabeled data
      B. To reduce the number of features in the dataset
      C. To classify data into categories
      D. To model non-linear relationships by adding powers of input features

      Solution

      1. Step 1: Understand the goal of polynomial regression

        Polynomial regression extends linear regression by adding powers of input features to capture curves in data.
      2. Step 2: Compare options with this goal

        Only To model non-linear relationships by adding powers of input features describes modeling non-linear relationships by adding powers of features, which matches polynomial regression.
      3. Final Answer:

        To model non-linear relationships by adding powers of input features -> Option D
      4. Quick Check:

        Polynomial regression = model curves [OK]
      Hint: Polynomial regression fits curves by adding powers of inputs [OK]
      Common Mistakes:
      • Confusing polynomial regression with classification
      • Thinking it reduces features instead of expanding them
      • Mixing it up with clustering methods
      2. Which Python code snippet correctly creates polynomial features of degree 3 using scikit-learn?
      easy
      A. from sklearn.linear_model import PolynomialFeatures poly = PolynomialFeatures(3) X_poly = poly.transform(X)
      B. from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=3) X_poly = poly.fit_transform(X)
      C. from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=2) X_poly = poly.fit(X)
      D. from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=3) X_poly = poly.transform(X)

      Solution

      1. Step 1: Check import and class usage

        PolynomialFeatures is in sklearn.preprocessing, so import must be from there.
      2. Step 2: Verify method calls and degree

        Degree=3 is correct. fit_transform(X) creates polynomial features properly. from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=3) X_poly = poly.fit_transform(X) matches all these.
      3. Final Answer:

        from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=3) X_poly = poly.fit_transform(X) -> Option B
      4. Quick Check:

        Correct import + degree + fit_transform = A [OK]
      Hint: Use fit_transform with PolynomialFeatures from sklearn.preprocessing [OK]
      Common Mistakes:
      • Importing PolynomialFeatures from wrong module
      • Using transform without fit first
      • Setting wrong degree value
      3. Given this code, what will be the shape of X_poly if X has shape (5, 1) and degree=2?
      from sklearn.preprocessing import PolynomialFeatures
      poly = PolynomialFeatures(degree=2)
      X_poly = poly.fit_transform(X)
      medium
      A. (5, 1)
      B. (5, 2)
      C. (5, 3)
      D. (5, 4)

      Solution

      1. Step 1: Understand PolynomialFeatures output shape

        For degree=2 and one feature, output includes [1, x, x^2], so 3 features total.
      2. Step 2: Calculate shape based on input rows and new features

        Input has 5 rows, so output shape is (5, 3).
      3. Final Answer:

        (5, 3) -> Option C
      4. Quick Check:

        Degree 2 with 1 feature = 3 columns [OK]
      Hint: Output columns = combinations with degree + 1 for bias [OK]
      Common Mistakes:
      • Forgetting the bias (constant 1) column
      • Assuming output shape equals input shape
      • Confusing degree with number of features
      4. Identify the error in this polynomial regression code snippet:
      from sklearn.preprocessing import PolynomialFeatures
      from sklearn.linear_model import LinearRegression
      poly = PolynomialFeatures(degree=2)
      X_poly = poly.transform(X)
      model = LinearRegression()
      model.fit(X_poly, y)
      medium
      A. Using transform before fitting PolynomialFeatures
      B. LinearRegression cannot be used with polynomial features
      C. Missing import for LinearRegression
      D. Degree should be 1 for polynomial regression

      Solution

      1. Step 1: Check usage of PolynomialFeatures methods

        PolynomialFeatures must be fitted before transform; fit_transform fits and transforms in one step.
      2. Step 2: Identify the error in code

        Code calls poly.transform(X) without fitting first, causing error. Correct is poly.fit_transform(X).
      3. Final Answer:

        Using transform before fitting PolynomialFeatures -> Option A
      4. Quick Check:

        fit_transform needed before transform [OK]
      Hint: Always fit PolynomialFeatures before transform or use fit_transform [OK]
      Common Mistakes:
      • Calling transform without fit first
      • Thinking LinearRegression can't handle polynomial features
      • Ignoring method order in preprocessing
      5. You have data with a clear curve pattern. You fit a polynomial regression model with degree 5 and get very low training error but high error on new data. What is the best next step?
      hard
      A. Reduce the polynomial degree to avoid overfitting
      B. Increase the polynomial degree to 10 for better fit
      C. Remove polynomial features and use linear regression only
      D. Add more polynomial features of degree 6

      Solution

      1. Step 1: Understand the problem of low training but high test error

        This indicates overfitting: model fits training data too closely but fails to generalize.
      2. Step 2: Choose a solution to reduce overfitting

        Reducing polynomial degree simplifies the model, helping it generalize better on new data.
      3. Final Answer:

        Reduce the polynomial degree to avoid overfitting -> Option A
      4. Quick Check:

        Overfitting? Lower degree polynomial [OK]
      Hint: Lower degree to reduce overfitting when test error is high [OK]
      Common Mistakes:
      • Increasing degree worsens overfitting
      • Removing polynomial features loses curve fit
      • Adding higher degree features increases complexity
      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