
--------------------------------------------------
H O W   T O  R U N   T H E   E X P E R I M E N T S
--------------------------------------------------

To learn the unsupervised representations, find the best representation and then train the logistic regression on the unigrams and bigrams with the appropriate hyperparameters, you just have to run the following command: 

--> bash main.sh [dataset_name] [time_series_length]

e.g. $bash main.sh PowerCons 144  
or   $bash main.sh SmallKitchenAppliances 720  


Please refer to the data folder to check the available datasets in this folder. 
To know the length of the corresponding time series, please refer to the file DataSummary.csv


-----------------------------
H Y P E R P A R A M E T E R S
-----------------------------

The following unsupervised model hyperparameters can be changed in the main.sh file:

- The different scales of reduction of the temporal dimension 
- The number of valid centroids for each frequency level can be changed as well 
- The number of epochs 
- The number of channels 
- etc.


The following supervised model hyperparameters can be changed in the LogisticReg_on_ngrams_final.py and the LogisticReg_on_ngrams.py files (classifiers folder):

- The search spaces for the l1 penalty and the l2 penalty.



---------------------------------------------
O V E R V I E W   O F   T H E   F O L D E R S 
---------------------------------------------

----------------------------------------

- The unsupervised_model folder contains our unsupervised model, a file to train it, and a file to extract n-grams from the learned representation.

----------------------------------------

- The classifiers folder contains the content for using logistic regression over the learned representations

----------------------------------------

- The utils folder contains a file with useful functions for training models and preprocessing tasks.

----------------------------------------


