代码接着008
Lasso
#LASSOfrom sklearn.linear_model import Lassodef 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
#LASSOfrom sklearn.linear_model import Lassodef 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
#LASSOfrom sklearn.linear_model import Lassodef 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而不是整体最小。。。)