scikit-learn:
岭回归:
>>> from sklearn import linear_model
>>> clf = linear_model.Ridge (alpha = .5)
>>> clf.fit ([[0,0],[0,[1,1]],.1,1])
Ridge(alpha=0.5,copy_X=True,fit_intercept=True,max_iter=None,normalize=False,random_state=None,solver='auto',tol=0.001)
>>> clf.coef_
array([ 0.34545455,0.34545455])
>>> clf.intercept_
0.13636...
通过交叉验证寻找最优的alpha:
>>> from sklearn import linear_model
>>> clf = linear_model.RidgeCV(alphas=[0.1,1.0,10.0])
>>> clf.fit([[0,1])
RidgeCV(alphas=[0.1,10.0],cv=None,scoring=None,normalize=False)
>>> clf.alpha_
0.1
lasso:
>>> from sklearn import linear_model
>>> clf = linear_model.Lasso(alpha = 0.1)
>>> clf.fit([[0,1])
Lasso(alpha=0.1,max_iter=1000,positive=False,precompute=False,selection='cyclic',tol=0.0001,warm_start=False)
>>> clf.predict([[1,1]])
array([ 0.8])