利用scikit-learn的Pipeline,封装(生成特征多项式、数据归一化、岭回归模型构建)流程。
pipe=Pipeline([
( 'poly',PolynomialFeatures()),
('scaler',StandardScaler()),
('lin',Ridge())
])
用GridSearchCV,对Pipeline中PolynomialFeatures的degree参数、和岭回归模型的alpha参数进行调优.
param_grid=[{'poly__degree':[i for i in range(1,6)],'lin__alpha':[i / 10 for i in range(1,20)]}]
#使用网格搜索,并设置r2指标评估
gs_pipe=GridSearchCV(pipe,param_grid,scoring='r2')
接下来,进行数据训练,就可以找到最优模型的参数了。
gs_pipe.fit(x_train,y_train)
gs_pipe.best_params_