-
Notifications
You must be signed in to change notification settings - Fork 0
Data Generation (ArraySubmission.py)
array_submission.py is a file to generate and execute batch submission files in order to run ArraySubmission.py
Within array_submission.py you can change the following in order to examine the cases that interest you:
Settings: Subsets of ["Base", "Random", "Energy","Gamma"]. These correspond to the four sections detailed in the Results section of the thesis.
Models: Subsets of ["True", "Complex", "Simple"]. These correspond to the three model types detailed in the Theory section of the thesis.
Parameters: List of dictionaries eg. {'alpha' : -1.0, 'beta' : 1.0, 'gamma' : 0.37, 'delta' : 0.3, 'omega' : 1.2}. These correspond to the parameter configurations of the Duffing Oscillator as detailed in the Theory: Duffing Oscillator section of the thesis.
ArraySubmission.py is initialised using the configurations detailed in the section for array_submission.py. It will generate a dataset of 10^7 samples and train a model on them depending on the configuration used. The models are saved to the "Models" directory using tf.save. Model histories are saved to "Models/TrainingHistory" using pickle. Models are then evaluated using the explainability frameworks: Sampling SHAP, Kernel SHAP and LIME. The explainability results are placed in a dataframe and saved in the folder "Results".