In this lab you'll practice your knowledge on adding polynomial terms to your regression model!
You will be able to:
- Understand how to account for non-linear relationships between predictors and target variable using polynomial terms
Here is a plot with a clearly non-linear shape. Begin to think about what degree polynomial you believe will fit it best.
import numpy as np
import matplotlib.pyplot as plt
% matplotlib inline
def pol(x):
return x * np.cos(x)
x = np.linspace(0, 12, 100)
rng = np.random.RandomState(1234)
rng.shuffle(x)
x = np.sort(x[:25])
y = pol(x) + np.random.randn(25)*2
plt.scatter(x, y, color='green', s=50, marker='.')
plt.show();
Now it's time to determine the optimal degree of polynomial features for a model that is fit to this data
- Plot a polynomial function using
PolynomialFeatures
for polynomials up until the second, third and fourth degree. Make sure to label each degree polynomial in your plot. - Print out the
$R^2$ value for each of the three results. Draw conclusions with respect to which degree is best.
## your code here
Great! You now know how to include polynomials in your linear model!