Skip to content

Repo structure

Folder: data/

Contains all datasets available for experiments. Metadata is stored in data/metadata.xlsx.

Folder: docs/

Includes all files required to build the documentation page on GitHub Desktop, including images.

Folder: experiment_result/

Stores all experiment outputs generated by the PyNNLF tool.
Testing results are saved in experiment_result/Archive/Testing Result.

  • result_summary.xlsx: Summary of all experiment results, generated by notebooks/result_aggregation.ipynb.
  • testing_benchmark.xlsx: Benchmark results from three different computers.

Folder: notebooks/

Contains all source code for the tool.

Subfolder: notebooks/config/

Stores configuration files with hard-coded values.

  • config.ipynb: Contains tool parameters that rarely change (e.g., cross-validation folds, lookback period, train-test split ratio).
  • constant.ipynb: Stores constants like month names.
  • general_functions.ipynb: Core backend functions for PyNNLF, including lag feature creation, train-test splitting, cross-validation, evaluation, etc.
  • hyperparameters.ipynb: Stores all model hyperparameters.

Subfolder: notebooks/model/

Contains all model files and experiment notebooks.

Model Files

Each model file follows the naming format [model_id]_[model_name].ipynb.

Run Experiments

  • run_experiment.ipynb: Runs a single experiment.
  • run_experiment_batch.ipynb: Runs batch experiments across multiple forecast problems or model configurations.

Result Aggregation

  • result_aggregation.ipynb: Aggregates results from all experiments in experiment_result/ into result_summary.xlsx.

Run Tests

  • run_experiment_batch.ipynb: Also used for testing the tool.
    Important to run full tests after major updates, especially those affecting the backend.