""" Baseline models contains models using default model parameters """ from sklearn.svm import LinearSVR from sklearn.tree import DecisionTreeRegressor from sklearn.ensemble import ( BaggingRegressor, AdaBoostRegressor, GradientBoostingRegressor, HistGradientBoostingRegressor ) from xgboost.sklearn import XGBModel from sklearn.linear_model import LinearRegression from sklearn.pipeline import Pipeline """ Linear Regressor """ def linear_regressor_pipeline_factory(model_params={}): """Linear Regression pipeline factor""" linear_regressor = LinearRegression(**model_params) return Pipeline(steps=[("linear_regressor", linear_regressor)]) """ SVM Regressors """ def svm_regressor_pipeline_factory(model_params={}): """SVM Regressor Pipeline""" linear_svr = LinearSVR(**model_params) return Pipeline(steps=[("linear_svr", linear_svr)]) def svm_bagging_regressor_pipeline_factory(model_params={}): """Ensemble of Bagging Regressors""" linear_svr = LinearSVR(**model_params) bagging_ensemble = BaggingRegressor(base_estimator=linear_svr) return Pipeline(steps=[("bagging_ensemble_of_linear_svr", bagging_ensemble)]) def svm_boosting_regressor_pipeline_factory(model_params={}): """Ensemble of Bagging Regressors""" linear_svr = LinearSVR(**model_params) boosting_ensemble = AdaBoostRegressor(base_estimator=linear_svr) return Pipeline(steps=[("adaboost_ensemble_of_linear_svr", boosting_ensemble)]) """ DecisionTree Based Regressors """ def dct_regressor_pipeline_factory(model_params={}): """SVM Regressor Pipeline""" dct_regressor = DecisionTreeRegressor(**model_params) return Pipeline(steps=[("dct_regressor", dct_regressor)]) def dct_bagging_regressor_pipeline_factory(model_params={}): """Ensemble of Bagging Regressors""" dct_regressor = DecisionTreeRegressor(**model_params) bagging_ensemble = BaggingRegressor(base_estimator=dct_regressor) return Pipeline(steps=[("bagging_ensemble_of_dct_regressors", bagging_ensemble)]) def dct_boosting_regressor_pipeline_factory(model_params={}): """Ensemble of Bagging Regressors""" dct_regressor = DecisionTreeRegressor(**model_params) bagging_ensemble = AdaBoostRegressor(base_estimator=dct_regressor) return Pipeline(steps=[("boosting_ensemble_of_dct_regressors", bagging_ensemble)]) def gbt_regressor_pipeline_factory(model_params={}): """Ensemble of Gradient Boosted Trees""" gbt_regressor = GradientBoostingRegressor(**model_params) return Pipeline(steps=[("gbt_regressor", gbt_regressor)]) def xgb_regressor_pipeline_factory(model_params={}): """Ensemble of Gradient Boosted Trees""" xgb_regressor = XGBModel(**model_params) return Pipeline(steps=[("xgb_regressor", xgb_regressor)]) def histgbm_regressor_pipeline_factory(model_params={}): """ Histogram GBM - This is very similar to LightGBM """ hist_gbm = HistGradientBoostingRegressor(**model_params) return Pipeline(steps=[("hist_gbm", hist_gbm)])