使用sklearn的Ridge回归器与GridSearchCV时遇ValueError求助
问题原因及修复方案
你的代码有两个明显错误导致了这个ValueError:
- 参数名拼写错误:你把Ridge的参数
alpha拼成了aplha(少了字母h),这本身就是无效参数。 - 多余的参数前缀:
ridge__这种带双下划线的前缀是在使用Pipeline管道时,用来指定管道内某个步骤的参数才需要的格式。直接给GridSearchCV传入Ridge实例的话,参数名直接用模型本身的参数名即可,不需要加前缀。
修正后的代码如下:
X,y = Train_arr.iloc[:,:-1],Train_arr.iloc[:,-1] from sklearn.linear_model import Ridge from sklearn.model_selection import GridSearchCV from sklearn.metrics import mean_squared_error import numpy as np # 补充numpy导入,原代码使用了np但未导入 ridge = Ridge() # 修正参数名拼写并移除多余前缀 param_grid = {'alpha': np.logspace(-10,10,100)} ridge_regressor = GridSearchCV(ridge, param_grid, scoring='neg_mean_squared_error', cv=5, n_jobs=-1) ridge_regressor.fit(X,y)
内容的提问来源于stack exchange,提问作者Shivaji
相关产品推荐
相关产品推荐

