miriamkw/GluPredKit

Milestones Week 43

miriamkw opened this issue · 0 comments

Refactoring:

  • Remove hour from preprocessor to parsers
  • Move library-specific preprocessing to model training from preprocessors (create helpers), and refactor preprocessors accordingly
  • Add config files defining one preprocessor, prediction horizons (list), num lagged features, num features, cat features, test size
  • Add the training flow using config file
  • Add the evaluation metrics using config file
  • Move error grids to evaluation metrics, but one metric can be a list
  • Add plots using config file
  • Use model names with config-file-name and ph
  • Add a config_manager for the config_files so that you dont need to use ['name'] which is prone to errors
  • Add a helper cli in helpers, and add methods like "getModule" for models etc. to reduce cli.py
  • Update all data-folders to reflect the new functionality (remove "processed", add "configurations")
  • Remove all outdated code

Add real-time predictions (after config, so you dont need to refactor):

  • Simply added a new plot that plots trajectories. This will be in real time if the input data is up to date
  • Plot trajectory(/ies)
  • Define either date "now", or a single point in time
  • Use names

Update CLI:

  • Create config
  • Use config instead of preprocessor to train models (and remove preprocess)
  • Evaluate models should use config as well
  • Separate commands: "draw_plots", "calculate_metrics"
  • Real-time predictions

Documentation:

  • Explain the difference between "glupredkit" and "python -m glupredkit.cli"
  • Contributing with code:
    • Define output format of parser
    • process of time-lagged features because it is oftern model/library-specific.
  • All updates to CLI must be documented
  • Go specifically into real-time plots description
  • Create and add figures:
    • Class diagram for "Contributing with code"-section
    • Process diagram -- what happens inside each command?
    • Update the diagram that is on the front page to reflect changes

Finish:

  • After rigorous testing of all functionality and usability test
  • upload again to PyPi
  • merge into main