Setup
Run pip install -r requirements.txt
Run setup.sh
Tree Generation
Download Dataset
Download the September 22 2016 dataset (or others) from: https://iotanalytics.unsw.edu.au/iottraces.html#bib18tmc
Place these into the data/tar
folder.
Run extract_tars.sh
which will extract and place the .pcap
files at the corresponding location inside data/pcap
.
Preprocessing Dataset
Run extract_all_datasets.py
which will extract the data from each file in data/pcap
and turn it into the corresponding .csv
file inside data/processed
. This will take a few minutes per file. Combine the data under data/csv
using combine_csv.py
. This will overwrite data/combined/data.csv
which you can use for the decision tree.
Training
Run DecisionTree.ipynb
, the tree should be output in tree.json
Compression
Run TreeCompress.ipynb
, the tree should be output in compressed_tree.json
RMT
Run TreeToRMT.ipynb
, it will report the TCAM and SRAM usage of the compressed tree