管道、网格搜索和目标转换后的返回系数

2024-06-25 06:28:04 发布

您现在位置:Python中文网/ 问答频道 /正文

这个问题以前有人问过herehere。当我尝试这些答案时,我的错误消息是我的模型没有coef属性。我使用管道、gridsearch和目标转换。我可以访问模型本身,但我的错误消息是,我的模型SGDRegressor没有属性coef

cv_inner = KFold(n_splits=5, shuffle=True)
params = {'model__regressor__penalty':['elasticnet']
            ,'model__regressor__l1_ratio': [0.1,0.3]
            }
mymodel = Pipeline(steps = [('preprocessor', preprocessor),
                                ('model', TTR(regressor=SGDRegressor(n_jobs=-1),transformer=qt))
                                ])
optimize_hparams = GridSearchCV(
    estimator = mymodel, param_grid=params, n_jobs = -1,
    cv=cv_inner, scoring='neg_mean_absolute_error')
optimize_hparams.fit(X, y)
optimize_hparams.best_estimator_.named_steps['model'].regressor.coef_
# 'SGDRegressor' object has no attribute 'coef_'

Tags: 模型消息model属性here错误paramscv
1条回答
网友
1楼 · 发布于 2024-06-25 06:28:04

TransformedTargetRegressor属性regressor是输入不适合的估计器。您需要regressor_,拟合回归器。(请注意,文档中说regressor在拟合之前被克隆,这就是该属性保持未拟合的原因。)

相关问题 更多 >