Efficient AutoDL for Generating Denial-of-Service Defense Models in the Internet of Things
Efficient AutoDL for Generating Denial-of-Service Defense Models in the Internet of Things
-
autopytorch_0.2.1: Source code of autopytorch with our lightweight search space integration.
-
data: Contains scripts and notebooks related to data preparation and extraction.
- evaluation_data: Put the code to generate evaluation data, we only use testing day data to evaluate.
- predict_data: Scripts for preparing data used to test the prediction time of the ML/DL pipeline.
- searching_data: Scripts for the search and refit phases.
- origin_data: The original CICDDoS2019 dataset. Please provide the data in the required format: origin_data/CSV-01-12/01-12/ ...
-
main: Contains scripts or notebooks related to searching for the best configuration and training (refit) with it.
- search and refit folder:
Contain our nine test cases described below:
- DC: Default configuration.
- DCwM: Default configuration with MinMaxScalar.
- DCwR: Default configuration with RobustScalar.
- DCwP: Default configuration with PCA.
- DCwF: Default configuration with FeatureAgglomeration.
- LW1: Lightweight architecture LNN.
- T1: The architecture similar to LW1 while without the lightweight mechanism.
- LW2: Lightweight architecture two, CLNN.
- T2: The architecture similar to LW2 while without the lightweight mechanism.
- evaluation: Put the code to evaluate the model generated in the refit phase.
- predict: Put the code to get the predict time of the model generated in the refit phase.
- search and refit folder:
Contain our nine test cases described below:
-
search_space: Contains our lightweight model search space.
- Python >= 3.7
- autopytorch == 0.2.1
pip install autopytorch==0.2.1
, we use this command mainly to get the dependencies of autopytorch, you should use our autopytorch source code with our lightweight search space integration.
All the operations assume you stay in the root directory.
- Run all the scripts in the data folder to prepare data.
- Run the main/search/search.sh to search for the best ML/DL pipeline configuration
- Parse the best configuration string to the code in the refit folder (a string).
- Run the main/refit/refit.sh to refit the model.
- Run main/predict/predict.sh and main/evaluation/evaluation.sh to get the predict time and evaluation result of different models.
MIT License