代码接着008
Lasso
#LASSO
from sklearn.linear_model import Lasso
def LassoRegression(degree,alpha):
return Pipeline([('poly',PolynomialFeatures(degree=degree)),
('std_scaler',StandardScaler()),
('lasso_reg',Lasso(alpha = alpha))
])
lasso1_reg = LassoRegression(20,0.01)
lasso1_reg.fit(X_train,y_train)
y1_predict = lasso1_reg.predict(X_test)
print(mean_squared_error(y_test,y1_predict))
1.149608084325997
plot_model(lasso1_reg)
alpha = 0.1
#LASSO
from sklearn.linear_model import Lasso
def LassoRegression(degree,alpha):
return Pipeline([('poly',PolynomialFeatures(degree=degree)),
('std_scaler',StandardScaler()),
('lasso_reg',Lasso(alpha = alpha))
])
lasso1_reg = LassoRegression(20,0.1)
lasso1_reg.fit(X_train,y_train)
y1_predict = lasso1_reg.predict(X_test)
print(mean_squared_error(y_test,y1_predict))
1.1213911351818648
plot_model(lasso1_reg)
alpha = 1
#LASSO
from sklearn.linear_model import Lasso
def LassoRegression(degree,alpha):
return Pipeline([('poly',PolynomialFeatures(degree=degree)),
('std_scaler',StandardScaler()),
('lasso_reg',Lasso(alpha = alpha))
])
lasso1_reg = LassoRegression(20,1)
lasso1_reg.fit(X_train,y_train)
y1_predict = lasso1_reg.predict(X_test)
print(mean_squared_error(y_test,y1_predict))
plot_model(lasso1_reg)
1.8408939659515595
Selection operator
使用ridge很难得到直线,lasso特性(特征选择,让一些参数为0而不是整体最小。。。)