Bird
Raised Fist0
Data Analysis Pythondata~20 mins

Polynomial features in Data Analysis Python - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Polynomial Features Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of polynomial feature transformation
What is the output of this code that creates polynomial features of degree 2 for a simple dataset?
Data Analysis Python
from sklearn.preprocessing import PolynomialFeatures
import numpy as np
X = np.array([[2, 3]])
poly = PolynomialFeatures(degree=2, include_bias=False)
result = poly.fit_transform(X)
print(result)
A[[1. 2. 3. 4. 6. 9.]]
B[[2. 3. 4. 9. 6.]]
C[[2. 3. 4. 6. 9.]]
D[[2. 3. 5. 6. 9.]]
Attempts:
2 left
💡 Hint
Remember polynomial features include original features and their combinations up to the given degree.
❓ data_output
intermediate
1:30remaining
Number of features after polynomial expansion
If you have 3 original features and apply PolynomialFeatures with degree=3 and include_bias=True, how many features will the transformed data have?
A19
B20
C15
D10
Attempts:
2 left
💡 Hint
Use the formula for combinations with repetition: (n + d)! / (d! * n!) where n=features, d=degree.
🔧 Debug
advanced
2:00remaining
Identify the error in polynomial feature usage
What error will this code raise when trying to transform data with PolynomialFeatures?
Data Analysis Python
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=2)
X = [[1, 2], [3, 4, 5]]
poly.fit_transform(X)
AValueError: Found array with inconsistent numbers of features (2 vs 3)
BTypeError: 'list' object is not callable
CIndexError: list index out of range
DNo error, outputs transformed array
Attempts:
2 left
💡 Hint
Check if all rows have the same number of features.
🚀 Application
advanced
1:30remaining
Choosing polynomial degree for regression
You have a dataset with one feature and want to fit a polynomial regression model. Which degree choice is best to avoid overfitting while capturing non-linearity?
ADegree 20
BDegree 1 (linear)
CDegree 10
DDegree 2 or 3
Attempts:
2 left
💡 Hint
Higher degrees can fit noise, lower degrees may miss patterns.
🧠 Conceptual
expert
1:30remaining
Effect of include_bias parameter in PolynomialFeatures
What is the effect of setting include_bias=False in PolynomialFeatures on the transformed data?
AThe output excludes the constant term (all ones column).
BThe output excludes all original features.
CThe output includes only the constant term.
DThe output includes only interaction terms, no powers.
Attempts:
2 left
💡 Hint
Bias means the constant feature of ones.

Practice

(1/5)
1. What is the main purpose of using Polynomial features in data analysis?
easy
A. To reduce the number of features in the dataset
B. To capture non-linear relationships by adding powers and combinations of features
C. To remove outliers from the data
D. To convert categorical data into numerical data

Solution

  1. Step 1: Understand what polynomial features do

    Polynomial features create new features by raising existing features to powers and combining them, which helps model curves.
  2. Step 2: Identify the purpose in modeling

    This helps capture non-linear relationships that simple linear features cannot represent.
  3. Final Answer:

    To capture non-linear relationships by adding powers and combinations of features -> Option B
  4. Quick Check:

    Polynomial features = capture curves [OK]
Hint: Polynomial features add powers to model curves, not reduce features [OK]
Common Mistakes:
  • Thinking polynomial features reduce feature count
  • Confusing polynomial features with data cleaning
  • Assuming polynomial features handle categorical data
2. Which of the following is the correct way to create polynomial features of degree 2 using scikit-learn in Python?
easy
A. from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(1) X_poly = poly.transform(X)
B. from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=2) X_poly = poly.fit(X)
C. from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=3) X_poly = poly.fit_transform(X)
D. from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=2) X_poly = poly.fit_transform(X)

Solution

  1. Step 1: Import and initialize PolynomialFeatures correctly

    Use degree=2 to specify the polynomial degree.
  2. Step 2: Use fit_transform to fit and transform the data in one step

    fit_transform returns the transformed feature matrix, which is needed for modeling.
  3. Final Answer:

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

    Use degree=2 and fit_transform() [OK]
Hint: Use fit_transform() with degree=2 to create polynomial features [OK]
Common Mistakes:
  • Using transform() without fitting first
  • Setting wrong degree value
  • Calling fit() without transform or fit_transform()
3. Given the code below, what is the shape of X_poly?
import numpy as np
from sklearn.preprocessing import PolynomialFeatures
X = np.array([[2, 3]])
poly = PolynomialFeatures(degree=2)
X_poly = poly.fit_transform(X)
medium
A. (1, 6)
B. (1, 3)
C. (2, 3)
D. (2, 6)

Solution

  1. Step 1: Count original features and polynomial features

    Original X has 2 features. Degree 2 polynomial features include: - bias (1) - original features (2) - squared features and interaction (3): x1^2, x1*x2, x2^2 Total = 1 + 2 + 3 = 6 features.
  2. Step 2: Check number of samples

    X has 1 sample (row), so output shape is (1, 6).
  3. Final Answer:

    (1, 6) -> Option A
  4. Quick Check:

    Features after degree 2 = 6 [OK]
Hint: Degree 2 with 2 features gives 6 output features [OK]
Common Mistakes:
  • Ignoring bias (constant) term
  • Counting only squared terms, missing interactions
  • Confusing samples with features in shape
4. Identify the error in the following code that tries to create polynomial features of degree 3:
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(3)
X_poly = poly.fit_transform([[1, 2], [3, 4]])
medium
A. PolynomialFeatures requires degree to be specified as a keyword argument
B. fit_transform cannot be used on lists, input must be a numpy array
C. No error, the code runs correctly
D. PolynomialFeatures does not support degree 3

Solution

  1. Step 1: Check PolynomialFeatures initialization

    Degree can be passed as positional argument, so PolynomialFeatures(3) is valid.
  2. Step 2: Check input type for fit_transform

    fit_transform accepts array-like inputs, including lists, so [[1, 2], [3, 4]] is valid.
  3. Final Answer:

    No error, the code runs correctly -> Option C
  4. Quick Check:

    Degree 3 and list input are valid [OK]
Hint: PolynomialFeatures accepts degree as positional and list input [OK]
Common Mistakes:
  • Thinking degree must be keyword argument
  • Assuming lists are invalid input
  • Believing degree 3 is unsupported
5. You have a dataset with 3 features and want to add polynomial features up to degree 2 but exclude the bias (constant) term. Which code snippet correctly achieves this?
hard
A. poly = PolynomialFeatures(degree=2, include_bias=False) X_poly = poly.fit_transform(X)
B. poly = PolynomialFeatures(degree=2, include_bias=True) X_poly = poly.fit_transform(X) X_poly = X_poly[:, :1]
C. poly = PolynomialFeatures(degree=2) X_poly = poly.fit_transform(X) X_poly = X_poly[:, :1]
D. poly = PolynomialFeatures(degree=2, bias=False) X_poly = poly.fit_transform(X)

Solution

  1. Step 1: Understand the include_bias parameter

    Setting include_bias=False excludes the constant (bias) term from the output features.
  2. Step 2: Use correct parameter and method

    poly = PolynomialFeatures(degree=2, include_bias=False) and then fit_transform(X) correctly creates polynomial features without bias.
  3. Final Answer:

    poly = PolynomialFeatures(degree=2, include_bias=False) X_poly = poly.fit_transform(X) -> Option A
  4. Quick Check:

    include_bias=False excludes constant term [OK]
Hint: Use include_bias=False to skip constant term [OK]
Common Mistakes:
  • Trying to remove bias by slicing output array
  • Using wrong parameter name like bias=False
  • Assuming include_bias defaults to False
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