-
Notifications
You must be signed in to change notification settings - Fork 0
SheikhRabiul/domain-knowledge-aided-explainable-ai-for-intrusion-detection-and-response
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
#Experiment 1 ########## data preprocessing ############################ process_data.py - > preprocess data for experiment 1. data_merger.py -> merge individual csv files in to a single file following same format (same column structure). data_sampler.py -> sample specified number of records using stratified sampling technique. data_preprocess_all_features.py -> preprocess data using all features, saves fully preprocessed data in binary format (as numpy array with format .npy) data_preprocess_selected_features.py -> preprocess data using selected features, saves fully preprocessed data in binary format (as numpy array with format .npy) #the selected features are read from data/selected_features.csv file, the feature selection algorithm (e.g., RF in feature_selection.py) write the selected features in this file. data_preprocess_domain_features.py -> preprocess data using domain features, saves fully preprocessed data in binary format (as numpy array with format .npy) data_preprocess_domain_features_cia.py -> preprocess data using constructed features (C,I, and A) from domain features, saves fully preprocessed data in binary format (as numpy array with format .npy) ######### classifier run ############################### run_classifiers.py -> run all classifiers one by one classifier_lr.py -> Logistic Regression (LR) classifier classifier_dt.py -> Decision Tree (DT) classifier_rf.py -> Random Forest (RF) classifier_et -> Extra Trees (ET) classifier_gradient_boosting.py - > Gradient Boosting (GB) classifier_adaboost.py -> Adaboost classifier_nb.py -> Naive Bayes classifier_mda_qda.py -> Multiple Discriminant Analysis (MDA) classifier_svm.py -> Support Vector Machine (SVM) classifier_ann.py -> Artificial Neural Network (ANN) #Experiment 2 ########## data preprocessing ############################ #for the experiment 2 that exclude one attack at a time from training set, use following preprocessing scripts, saves fully preprocessed data in binary format (as numpy array with format .npy) data_preprocessing_ex2_all_features.py -> excludes one attack at a time from training set with all features and test it against the original test set. data_preprocessing_ex2_selected_features.py -> excludes one attack at a time from training set with selected features and test it against the original test set. data_preprocessing_ex2_domain_features-alt.py -> excludes one attack at a time from training set with domain features and test it against the original test set. data_preprocessing_ex2_domain_features.py -> excludes one attack at a time from training set with constructed features from domain features and test it against the original test set. config.txt -> set use_resample = 1 to use resampled data, use feature_set =1 to use all features, 2 for selected features, and 3 for domain features. ######### classifier run ############################### #run classifier as before by making necessary changes in config.txt -> set use_resample = 1 to use resampled data, use feature_set =1 to use all features, 2 for selected features, and 3 for domain features. #after running a classifier, call analysis_excludeing_1_attack.py to analyze the predicted result where the training data for an attack is absent. #for experiment 2, the batch file: run_classifiers_exp2.py -> can be used to do the preprocessing and prediction together with all configurations.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published