Source code for autoflow.ensemble.stack.regressor

import numpy as np
from sklearn.base import RegressorMixin

from autoflow.ensemble.stack.base import StackEstimator

__all__=["StackRegressor"]

[docs]class StackRegressor(StackEstimator, RegressorMixin): mainTask = "regression"
[docs] def predict_meta_features(self, X, is_train): per_model_preds = [] for i, models in enumerate(self.estimators_list): if is_train: prediction = self.prediction_list[i] else: probas = [model.predict(X) for model in models] probas_arr = np.array(probas) prediction = np.average(probas_arr, axis=0) per_model_preds.append(prediction) meta_features = np.vstack(per_model_preds).T # todo: 和classifier 对比, 更好的方法 return (meta_features)