我想使用科学工具包-学习的StackedRegressor来建立一个整体,但我想使用预先培训的角模型。基本上,我想利用元回归器,以最好的方式使用每个基本模型,但我不需要他们接受训练。有点像
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)但又一次没有拟合底座模型。
发布于 2020-02-11 10:50:25
我想你不需要stackingRegressor。
做这样的事:
prediction =[]
for reg in regressors:
predictions.append(reg.predict(X))
xgboost.fit_predict(prediction)发布于 2020-06-25 09:15:12
通过描述和定义,sklearn的StackingRegressor模块使用多个回归者的预测将它们注入到另一个回归模型中
“将每个估计器的预测叠加在一起,并作为输入输入到最终的估计器中来计算预测。
因此,它不可避免地需要对某些数据进行拟合(产生算法),以便接收(简单描述的)if-if或y=ax+bz逻辑,并将ifs和x放入方程中。
我在想,在您的场景中,您可能只需要一种集成技术,即取“最佳”(最小误差)或简单的预测平均值。更多关于本主题和用于此目的的学习模块的信息:https://scikit-learn.org/stable/modules/ensemble.html
https://stackoverflow.com/questions/60166831
复制相似问题