import numpy as np
from sklearn import linear_model
import matplotlib.pyplot as plt
X = np.c_[.5,1].Ty = [.5,1]
test = np.c_[0,2].T
regr = linear_model.LinearRegression()
plt.figure(1)
np.random.seed(0)
for _ in range(6):
this_x = .1 * np.random.normal(size=(2,1)) + X
regr.fit(this_x,y)
plt.plot(test,regr.predict(test))
plt.scatter(this_x,y,s=3)
plt.show(1)
# # if there few data points per dimension and high variance
regr2 = linear_model.Ridge(alpha=.1)
plt.figure(2)
for _ in range(6):
this_x = .1 * np.random.normal(size=(2,1)) + X
regr2.fit(this_x,y)
plt.plot(test,regr2.predict(test))
plt.scatter(this_x,y,s=3)
plt.show(2)
# choose fit alpha
alphas = np.logspace(-4, -1, 6)
print (alphas)
# from __future__ import print_function
scores = [regr2.set_params(alpha=alpha).fit(this_x, y,).score(this_x, y) for alpha in alphas]
print(scores)