In [1]:
from sklearn.datasets import load_diabetes
diabetes = load_diabetes()
X = diabetes.data
Y = diabetes.target
In [16]:
from sklearn.linear_model import Ridge
ridge0 = Ridge(alpha=0).fit(X,Y)
p0 = pd.Series(np.hstack([ridge0.intercept_, ridge0.coef_]))
ridge1 = Ridge(alpha=1).fit(X,Y)
p1 = pd.Series(np.hstack([ridge1.intercept_, ridge1.coef_]))
ridge2 = Ridge(alpha=2).fit(X,Y)
p2 = pd.Series(np.hstack([ridge2.intercept_, ridge2.coef_]))
ridge3 = Ridge(alpha=5).fit(X,Y)
p3 = pd.Series(np.hstack([ridge3.intercept_, ridge3.coef_]))
ridge4 = Ridge(alpha=10).fit(X,Y)
p4 = pd.Series(np.hstack([ridge4.intercept_, ridge4.coef_]))
ridge5 = Ridge(alpha=50).fit(X,Y)
p5 = pd.Series(np.hstack([ridge5.intercept_, ridge5.coef_]))
In [17]:
df = pd.DataFrame([p0,p1,p2,p3,p4,p5]).T
df.columns = ["alpha0","alpha1","alpha2","alpha3","alpha4","alpha5"]
In [18]:
df
Out[18]:
In [19]:
from sklearn.linear_model import Lasso
Lasso0 = Lasso(alpha=0).fit(X,Y)
p0 = pd.Series(np.hstack([Lasso0.intercept_, Lasso0.coef_]))
Lasso1 = Lasso(alpha=1).fit(X,Y)
p1 = pd.Series(np.hstack([Lasso1.intercept_, Lasso1.coef_]))
Lasso2 = Lasso(alpha=2).fit(X,Y)
p2 = pd.Series(np.hstack([Lasso2.intercept_, Lasso2.coef_]))
Lasso3 = Lasso(alpha=5).fit(X,Y)
p3 = pd.Series(np.hstack([Lasso3.intercept_, Lasso3.coef_]))
Lasso4 = Lasso(alpha=10).fit(X,Y)
p4 = pd.Series(np.hstack([Lasso4.intercept_, Lasso4.coef_]))
Lasso5 = Lasso(alpha=50).fit(X,Y)
p5 = pd.Series(np.hstack([Lasso5.intercept_, Lasso5.coef_]))
In [20]:
df1 = pd.DataFrame([p0,p1,p2,p3,p4,p5]).T
df1.columns = ["alpha0","alpha1","alpha2","alpha3","alpha4","alpha5"]
In [21]:
df1
Out[21]:
In [23]:
lasso = Lasso()
alphas, coefs, _ = lasso.path(X,Y, alphas=np.logspace(0,1,10))
df2 = pd.DataFrame(coefs, columns = alphas)
df2
Out[23]:
In [24]:
df2.T.plot(logx=True)
plt.show()
In [ ]: