GridSearchCV и ValueError: неверный параметр альфа для конвейера оценки - PullRequest
0 голосов
/ 27 апреля 2020

Я хочу использовать StandardScaler с GridSearchCV и найти лучший параметр для модели регрессии Риджа. Но я получил следующую ошибку:

повышение ValueError ('Неверный параметр% s для оценщика% s.' ValueError: Неверный параметр альфа для конвейера оценки (память = нет, steps = [('standardcaler', StandardScaler ( copy = True, with_mean = True, with_std = True)), ('ridge', Ridge (alpha = 1.0, copy_X = True, fit_intercept = True, max_iter = None, normalize = False, random_state = None, solver = 'auto' , tol = 0,001))], verbose = False). Проверьте список доступных параметров с помощью estimator.get_params().keys().

Кто-нибудь может мне помочь?

import  numpy   as   np; import  pandas  as   pd; import  matplotlib.pyplot  as  plt;
import  plotly.express   as  px
from sklearn.linear_model import LinearRegression, Ridge,Lasso, ElasticNet
from sklearn.model_selection import cross_val_score,GridSearchCV, train_test_split
from sklearn.metrics import mean_squared_error
x_data=pd.read_excel('Input-15.xlsx')
y_data=pd.read_excel('Output-15.xlsx')
X_train, X_test,Y_train,Y_test=train_test_split(x_data,y_data,test_size=0.2,random_state=42)
###########    Ridge regression model     ########### 
rige=Ridge(normalize=True)
rige.fit(X_train,Y_train["Acc"]);rige.score(X_test,Y_test["Acc"])
score=format(rige.score(X_test,Y_test["Acc"]),'.4f')
print ('Ridge Reg Score with Normalization:',score)
from sklearn.pipeline import make_pipeline, Pipeline
from sklearn.preprocessing import StandardScaler
pip=make_pipeline(StandardScaler(),Ridge())
pip.fit(X_train,Y_train["Acc"])
score_pipe=format(pip.score(X_test,Y_test["Acc"]),'.4f')
print ('Standardized Ridge Score:',score_pipe)
######  performing the GridSearchCV /the value of α that maximizes the R2 ####
param_grid = {'alpha': np.logspace(-3,3,10)}
grid = GridSearchCV(estimator=pip, param_grid=param_grid, cv=2,return_train_score=True)
grid.fit(X_train,Y_train["Acc"])### barayeh har khoroji  ********
best_score = float(format(grid.best_score_, '.4f'))
print('Best CV score: {:.4f}'.format(grid.best_score_))
print('Best parameter :',grid.best_params_)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...