The code is written for MATLAB platform.

The BLS source code is downloaded from:
	http://www.broadlearning.ai/

Directories:
- The "BGP_anomaly_detection" directory contains the MATLAB code and the BGP datasets.
  For each collected dataset (Code Red I, Nimda, and Slammer), the training and
  test datasets contain 5,760 and 1,440 data points, respectively.
  They are randomly selected subsets of the BGP datasets. 
  Five continuous data points were chosen for each selection in order
  to preserve their temporal properties. 

- The "NSL-KDD_intrusion_detection" directory contains the MATLAB code and the NSL-KDD datasets.
  Among 41 features of the original NSL-KDD datasets, 38 are numerical and 3 are
  categorical (“protocol type”, “service”, and “flag”) features.
  The 3 categorical features have been converted to numerical
  features using the dummy coding method to generate 71 additional features. 
  We use “pandas” Python library to create input matrices. 
  Dimensions of KDDTrain+, KDDTest+, and KDDTest-21 matrices are 109*125,973, 109*22,544, and
  109*11,850, respectively.

The following MATLAB files are needed to run the code:
- BLS_demo_BGP_for_lower_memory.m
- BLS_demo_nsl_for_lower_memory.m

The following MATLAB functions have been modified by Zhida Li:
- bls_train_fscore.m
- bls_train_inputenhance_fscore.m
- bls_train_cfbls_fscore.m
- bls_train_cebls_fscore.m
- bls_train_cfebls_fscore.m

Notes:
- The NSL-KDD input data have been normalized to have mean = 0 and variance = 1.
- The BGP input data have not been normalized.
