Purpose of the modules

Root level modules that are not in folders are all "support modules" that facilitate the implementation of HOTC:

- classificationmetrics.py and regressionmetrics.py implement metrics used to calculate validation loss.
- loaddata.py is used to load data from a variety of sources
- tensorsearch.py is used to search a tensor to find its largest/smallest values
- trainmodels.py is used to generate an evaluation function, which can be called to evaluate a particular hyperparameter#
combination of a particular machine learning algorithm through 5-fold cross validation.
- generateerrortensor.py is uses the evaluation function to generate a complete or incomplete tensor
filled with validation loss values for the different hyperparameter combinations.
- tensorcompletion.py implements various alternative tensor completion algorithms that were considered - these are
inferior tp the cross technique as they require more elements to be sampled for accurate completion.
- crosstechnique.py implements the Cross sampling technique as well as the noisy and noiseless tensor completion
algorithms based on cross samples.

The folder HOTC implementation contains an implementation of the HOTC algorithm (note: HOTC also referred to as HTVTC
in the code, which was its former name) in the file finalAlgoImplementation.py. The various workspace modules in this folder
perform HOTC experiments on some machine learning problems. These are not the same as the experiments of the paper, which were
performed in JuPyter notebooks on Google Colab.

The prove-low-rank folder contains the experiments used to prove that low rank tensor completion is accurate on validation loss tensors. The three 
workspace modules contain the code for the experiments performed in the paper. 

Finally, the traditional-methods folder contains experiments of hyperparameter optimisation methods other than HOTC e.g. RS, BOHB - each in their own
folder. These are not the same as the experiments of the paper, which were performed in JuPyter notebooks on Google Colab.

We welcome any queries you have in relation to our implementations.
