In [15]:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures

X_train = [[6],[8],[10], [14], [18]]
y_train = [[7], [9], [13], [17.5], [18]]
X_test = [[6], [8], [11], [16]]
y_test = [[8], [12], [15], [18]]

clf = LinearRegression()
clf.fit(X_train, y_train)

xx = np.linspace(0,26,100)

yy = clf.predict(xx.reshape(xx.shape[0], 1))
plt.figure(1, figsize=(10,10)) 
plt.plot(xx, yy)

for i in range(2,10):
    fr = PolynomialFeatures(degree=i)
    X = fr.fit_transform(X_train)
    clf.fit(X, y_train)
    xx_degree = fr.transform(xx.reshape(xx.shape[0], 1))
    plt.plot(xx, clf.predict(xx_degree), label='df='+ str(i))

   
plt.title('Pizza price regressed on diameter')
plt.xlabel('Diameter in inches')
plt.ylabel('Price in dollars')
plt.axis([0, 25, 0, 25])
plt.grid(True)
plt.scatter(X_train, y_train)
plt.legend(loc="lower center")
plt.show()



In [10]:




In [7]:
X_train_quadratic


Out[7]:
array([[   1.,    6.,   36.],
       [   1.,    8.,   64.],
       [   1.,   10.,  100.],
       [   1.,   14.,  196.],
       [   1.,   18.,  324.]])

In [8]:
x_test_quadratic


Out[8]:
array([[   1.,    6.,   36.],
       [   1.,    8.,   64.],
       [   1.,   11.,  121.],
       [   1.,   16.,  256.]])

In [9]:
xx_quadratic


Out[9]:
array([[  1.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  1.00000000e+00,   2.62626263e-01,   6.89725538e-02],
       [  1.00000000e+00,   5.25252525e-01,   2.75890215e-01],
       [  1.00000000e+00,   7.87878788e-01,   6.20752984e-01],
       [  1.00000000e+00,   1.05050505e+00,   1.10356086e+00],
       [  1.00000000e+00,   1.31313131e+00,   1.72431385e+00],
       [  1.00000000e+00,   1.57575758e+00,   2.48301194e+00],
       [  1.00000000e+00,   1.83838384e+00,   3.37965514e+00],
       [  1.00000000e+00,   2.10101010e+00,   4.41424344e+00],
       [  1.00000000e+00,   2.36363636e+00,   5.58677686e+00],
       [  1.00000000e+00,   2.62626263e+00,   6.89725538e+00],
       [  1.00000000e+00,   2.88888889e+00,   8.34567901e+00],
       [  1.00000000e+00,   3.15151515e+00,   9.93204775e+00],
       [  1.00000000e+00,   3.41414141e+00,   1.16563616e+01],
       [  1.00000000e+00,   3.67676768e+00,   1.35186205e+01],
       [  1.00000000e+00,   3.93939394e+00,   1.55188246e+01],
       [  1.00000000e+00,   4.20202020e+00,   1.76569738e+01],
       [  1.00000000e+00,   4.46464646e+00,   1.99330681e+01],
       [  1.00000000e+00,   4.72727273e+00,   2.23471074e+01],
       [  1.00000000e+00,   4.98989899e+00,   2.48990919e+01],
       [  1.00000000e+00,   5.25252525e+00,   2.75890215e+01],
       [  1.00000000e+00,   5.51515152e+00,   3.04168962e+01],
       [  1.00000000e+00,   5.77777778e+00,   3.33827160e+01],
       [  1.00000000e+00,   6.04040404e+00,   3.64864810e+01],
       [  1.00000000e+00,   6.30303030e+00,   3.97281910e+01],
       [  1.00000000e+00,   6.56565657e+00,   4.31078461e+01],
       [  1.00000000e+00,   6.82828283e+00,   4.66254464e+01],
       [  1.00000000e+00,   7.09090909e+00,   5.02809917e+01],
       [  1.00000000e+00,   7.35353535e+00,   5.40744822e+01],
       [  1.00000000e+00,   7.61616162e+00,   5.80059178e+01],
       [  1.00000000e+00,   7.87878788e+00,   6.20752984e+01],
       [  1.00000000e+00,   8.14141414e+00,   6.62826242e+01],
       [  1.00000000e+00,   8.40404040e+00,   7.06278951e+01],
       [  1.00000000e+00,   8.66666667e+00,   7.51111111e+01],
       [  1.00000000e+00,   8.92929293e+00,   7.97322722e+01],
       [  1.00000000e+00,   9.19191919e+00,   8.44913784e+01],
       [  1.00000000e+00,   9.45454545e+00,   8.93884298e+01],
       [  1.00000000e+00,   9.71717172e+00,   9.44234262e+01],
       [  1.00000000e+00,   9.97979798e+00,   9.95963677e+01],
       [  1.00000000e+00,   1.02424242e+01,   1.04907254e+02],
       [  1.00000000e+00,   1.05050505e+01,   1.10356086e+02],
       [  1.00000000e+00,   1.07676768e+01,   1.15942863e+02],
       [  1.00000000e+00,   1.10303030e+01,   1.21667585e+02],
       [  1.00000000e+00,   1.12929293e+01,   1.27530252e+02],
       [  1.00000000e+00,   1.15555556e+01,   1.33530864e+02],
       [  1.00000000e+00,   1.18181818e+01,   1.39669421e+02],
       [  1.00000000e+00,   1.20808081e+01,   1.45945924e+02],
       [  1.00000000e+00,   1.23434343e+01,   1.52360371e+02],
       [  1.00000000e+00,   1.26060606e+01,   1.58912764e+02],
       [  1.00000000e+00,   1.28686869e+01,   1.65603102e+02],
       [  1.00000000e+00,   1.31313131e+01,   1.72431385e+02],
       [  1.00000000e+00,   1.33939394e+01,   1.79397612e+02],
       [  1.00000000e+00,   1.36565657e+01,   1.86501786e+02],
       [  1.00000000e+00,   1.39191919e+01,   1.93743904e+02],
       [  1.00000000e+00,   1.41818182e+01,   2.01123967e+02],
       [  1.00000000e+00,   1.44444444e+01,   2.08641975e+02],
       [  1.00000000e+00,   1.47070707e+01,   2.16297929e+02],
       [  1.00000000e+00,   1.49696970e+01,   2.24091827e+02],
       [  1.00000000e+00,   1.52323232e+01,   2.32023671e+02],
       [  1.00000000e+00,   1.54949495e+01,   2.40093460e+02],
       [  1.00000000e+00,   1.57575758e+01,   2.48301194e+02],
       [  1.00000000e+00,   1.60202020e+01,   2.56646873e+02],
       [  1.00000000e+00,   1.62828283e+01,   2.65130497e+02],
       [  1.00000000e+00,   1.65454545e+01,   2.73752066e+02],
       [  1.00000000e+00,   1.68080808e+01,   2.82511580e+02],
       [  1.00000000e+00,   1.70707071e+01,   2.91409040e+02],
       [  1.00000000e+00,   1.73333333e+01,   3.00444444e+02],
       [  1.00000000e+00,   1.75959596e+01,   3.09617794e+02],
       [  1.00000000e+00,   1.78585859e+01,   3.18929089e+02],
       [  1.00000000e+00,   1.81212121e+01,   3.28378329e+02],
       [  1.00000000e+00,   1.83838384e+01,   3.37965514e+02],
       [  1.00000000e+00,   1.86464646e+01,   3.47690644e+02],
       [  1.00000000e+00,   1.89090909e+01,   3.57553719e+02],
       [  1.00000000e+00,   1.91717172e+01,   3.67554739e+02],
       [  1.00000000e+00,   1.94343434e+01,   3.77693705e+02],
       [  1.00000000e+00,   1.96969697e+01,   3.87970615e+02],
       [  1.00000000e+00,   1.99595960e+01,   3.98385471e+02],
       [  1.00000000e+00,   2.02222222e+01,   4.08938272e+02],
       [  1.00000000e+00,   2.04848485e+01,   4.19629017e+02],
       [  1.00000000e+00,   2.07474747e+01,   4.30457708e+02],
       [  1.00000000e+00,   2.10101010e+01,   4.41424344e+02],
       [  1.00000000e+00,   2.12727273e+01,   4.52528926e+02],
       [  1.00000000e+00,   2.15353535e+01,   4.63771452e+02],
       [  1.00000000e+00,   2.17979798e+01,   4.75151923e+02],
       [  1.00000000e+00,   2.20606061e+01,   4.86670340e+02],
       [  1.00000000e+00,   2.23232323e+01,   4.98326701e+02],
       [  1.00000000e+00,   2.25858586e+01,   5.10121008e+02],
       [  1.00000000e+00,   2.28484848e+01,   5.22053260e+02],
       [  1.00000000e+00,   2.31111111e+01,   5.34123457e+02],
       [  1.00000000e+00,   2.33737374e+01,   5.46331599e+02],
       [  1.00000000e+00,   2.36363636e+01,   5.58677686e+02],
       [  1.00000000e+00,   2.38989899e+01,   5.71161718e+02],
       [  1.00000000e+00,   2.41616162e+01,   5.83783696e+02],
       [  1.00000000e+00,   2.44242424e+01,   5.96543618e+02],
       [  1.00000000e+00,   2.46868687e+01,   6.09441486e+02],
       [  1.00000000e+00,   2.49494949e+01,   6.22477298e+02],
       [  1.00000000e+00,   2.52121212e+01,   6.35651056e+02],
       [  1.00000000e+00,   2.54747475e+01,   6.48962759e+02],
       [  1.00000000e+00,   2.57373737e+01,   6.62412407e+02],
       [  1.00000000e+00,   2.60000000e+01,   6.76000000e+02]])

In [ ]: