首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能在预先训练的模型上使用StackRegressor?

是否有可能在预先训练的模型上使用StackRegressor?
EN

Stack Overflow用户
提问于 2020-02-11 10:30:19
回答 2查看 412关注 0票数 2

我想使用科学工具包-学习的StackedRegressor来建立一个整体,但我想使用预先培训的角模型。基本上,我想利用元回归器,以最好的方式使用每个基本模型,但我不需要他们接受训练。有点像

代码语言:javascript
复制
regressor_1 = KerasRegressor(build_fn)
regressor_2 = KerasRegressor(build_fn)
regressor_3 = KerasRegressor(build_fn)
regressors = [('r1', regressor_1),
              ('r2', regressor_2),
              ('r3', regressor_3)]

xgboost = XGBRegressor(learning_rate=0.01, n_estimators=3460,
                       max_depth=3, min_child_weight=0,
                       gamma=0, subsample=0.7,
                       colsample_bytree=0.7,
                       objective='reg:linear', nthread=-1,
                       scale_pos_weight=1, seed=27,
                       reg_alpha=0.00006)
stack_gen = StackingRegressor(estimators=regressors,
                                final_estimator=xgboost,
                                n_jobs=-1)

但又一次没有拟合底座模型。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-11 10:50:25

我想你不需要stackingRegressor

做这样的事:

代码语言:javascript
复制
prediction =[]
for reg in regressors:
     predictions.append(reg.predict(X))

xgboost.fit_predict(prediction)
票数 0
EN

Stack Overflow用户

发布于 2020-06-25 09:15:12

通过描述和定义,sklearn的StackingRegressor模块使用多个回归者的预测将它们注入到另一个回归模型中

“将每个估计器的预测叠加在一起,并作为输入输入到最终的估计器中来计算预测。

因此,它不可避免地需要对某些数据进行拟合(产生算法),以便接收(简单描述的)if-if或y=ax+bz逻辑,并将ifs和x放入方程中。

我在想,在您的场景中,您可能只需要一种集成技术,即取“最佳”(最小误差)或简单的预测平均值。更多关于本主题和用于此目的的学习模块的信息:https://scikit-learn.org/stable/modules/ensemble.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60166831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档