louiecerv commited on
Commit
2f7249c
·
1 Parent(s): eb6676a

updated the readme file

Browse files
Files changed (2) hide show
  1. README.md +76 -2
  2. app.py +1 -1
README.md CHANGED
@@ -1,6 +1,6 @@
1
  ---
2
  title: Cyberattack Detection ML Approach
3
- emoji: 💥
4
  colorFrom: red
5
  colorTo: pink
6
  sdk: streamlit
@@ -11,4 +11,78 @@ license: mit
11
  short_description: UNSW Dataset in an ML-based analysis
12
  ---
13
 
14
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  title: Cyberattack Detection ML Approach
3
+ emoji: 🛡️
4
  colorFrom: red
5
  colorTo: pink
6
  sdk: streamlit
 
11
  short_description: UNSW Dataset in an ML-based analysis
12
  ---
13
 
14
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
15
+
16
+ # Cyber Attack Detection ML Approach
17
+
18
+ This Streamlit app provides an interactive analysis of the UNSW-NB15 dataset, a popular benchmark for evaluating network intrusion detection systems. The app leverages machine learning techniques to classify network traffic as either normal or indicative of various attack types.
19
+
20
+ ## About the UNSW-NB15 Dataset
21
+
22
+ The UNSW-NB15 dataset was created by the Cyber Security Lab at the University of New South Wales, Canberra. It's a comprehensive dataset containing network traffic captures (tcpdump) and system call traces. The dataset includes a variety of modern attack types, making it a valuable resource for training and testing intrusion detection systems. Key features of the dataset include:
23
+
24
+ - **Diverse Attack Types:** Covers a wide range of attacks such as Fuzzers, Backdoor, DoS, Exploits, Generic, Reconnaissance, Shellcode, and Worms.
25
+ - **Realistic Network Traffic:** Generated using a realistic network environment, simulating real-world scenarios.
26
+ - **Labeled Data:** Each network flow is labeled with its corresponding attack type or as normal traffic, enabling supervised learning.
27
+
28
+ ## App Purpose
29
+
30
+ This app aims to:
31
+
32
+ 1. **Visualize and Explore the Data:** Provide an interface to view the dataset's structure, data types, and descriptive statistics. This allows users to understand the characteristics of the UNSW-NB15 dataset.
33
+ 2. **Train and Evaluate Machine Learning Models:** Implement and compare the performance of several machine learning classifiers, specifically:
34
+ - Naive Bayes
35
+ - Decision Tree
36
+ - K-Nearest Neighbors
37
+ 3. **Analyze Model Performance:** Present confusion matrices and classification reports to evaluate the effectiveness of each model in detecting different attack types. This helps users understand the strengths and weaknesses of each algorithm.
38
+ 4. **Facilitate Learning:** Serve as an educational tool for learning about network intrusion detection, machine learning classification, and dataset analysis.
39
+
40
+ ## Installation
41
+
42
+ To run this app, you need to have Python installed along with the following libraries:
43
+
44
+ - streamlit
45
+ - datasets
46
+ - pandas
47
+ - huggingface_hub
48
+ - scikit-learn
49
+ - seaborn
50
+ - matplotlib
51
+ - numpy
52
+ - Pillow
53
+
54
+ You can install the required libraries using pip:
55
+
56
+ ```bash
57
+ pip install streamlit datasets pandas huggingface_hub scikit-learn seaborn matplotlib numpy Pillow
58
+ ```
59
+
60
+ ## Usage
61
+
62
+ 1. Ensure you have set the `HF_TOKEN` environment variable with your Hugging Face token.
63
+ 2. Run the Streamlit app:
64
+
65
+ ```bash
66
+ streamlit run app.py
67
+ ```
68
+
69
+ ## Features
70
+
71
+ - **Dataset Information:** View the dataset's structure, data types, and descriptive statistics.
72
+ - **Naive Bayes Classifier:** Train and evaluate a Naive Bayes model.
73
+ - **Decision Tree Classifier:** Train and evaluate a Decision Tree model.
74
+ - **K-Nearest Neighbor Classifier:** Train and evaluate a K-Nearest Neighbor model.
75
+ - **Confusion Matrix and Classification Report:** Visualize the performance of each model.
76
+
77
+ ## Screenshots
78
+
79
+ !Cybersecurity
80
+
81
+ ## License
82
+
83
+ This project is licensed under the MIT License.
84
+
85
+ ## Acknowledgements
86
+
87
+ - The UNSW-NB15 dataset creators at the University of New South Wales, Canberra.
88
+ - The Hugging Face team for providing the datasets and tools.
app.py CHANGED
@@ -27,7 +27,7 @@ if not hf_token:
27
  # Login to Hugging Face Hub
28
  login(token=hf_token)
29
 
30
- st.title("Cyber Attack Detection ML Approach")
31
  st.write("This app loads and analyzes the UNSW_NB15_training-set.csv dataset.")
32
 
33
  # Display image
 
27
  # Login to Hugging Face Hub
28
  login(token=hf_token)
29
 
30
+ st.title("🛡️📈 Cyber Attack Detection ML Approach")
31
  st.write("This app loads and analyzes the UNSW_NB15_training-set.csv dataset.")
32
 
33
  # Display image