cmu-db / peloton

The Self-Driving Database Management System
http://pelotondb.io
Apache License 2.0
2.03k stars 624 forks source link

Forecasting Code Cleanup and Model Addition #1422

Closed saatviks closed 6 years ago

saatviks commented 6 years ago

This PR adds the following changes:

  1. Eigen: Additional Eigen utility functions needed for the new models. Also added a test which checks correctness of all utility functions.
  2. Model Hierarchy Setup: Addition of the following Abstract classes - BaseModel, BaseTFModel, BaseForecastModel. All models must inherit BaseModel. BaseTFModel provides ready to use APIs for importing and running the Tensorflow API and can be used across model types(meant for forecasting or otherwise) if Tensorflow functionality is needed. BaseForecastModel is meant only for Forecasting(like the current workload forecasting models).
  3. Model Additions: Added Linear Regression and Kernel Regression model.
  4. Model Utilitiles: Set of utility functions which can be used by models or other classes using those models. Added tests for checking each function.
  5. Setting things up for Ensembling - Add Fit/Predict as BaseModel pure virtual methods, clean up the LSTM Train/Validate Epoch.
  6. Write out the Ensembling logic and test.
coveralls commented 6 years ago

Coverage Status

Coverage increased (+0.1%) to 76.492% when pulling 98ae7b17d4d1b44fd42e76806daac54946f70aa9 on saatviks:saatviks_forecastmodels into 2406b763b91d9cee2a5d9f4dee01c761b476cef6 on cmu-db:master.