In today's hyper-connected world, network security is more critical than ever. This project delivers a robust multi-class classifier designed to detect and classify network threats efficiently. Using advanced Machine Learning techniques, we analyze network traffic to identify anomalies and prevent potential intrusions.
- Source: NSL-KDD Dataset
- A refined version of the classic KDD'99 dataset, optimized for evaluating Intrusion Detection Systems (IDS).
Skip the preprocessing hassle! Preprocessed data and trained models are available here:
- Sumeet Bapurao Khillare: skhilla@ncsu.edu
- Shashank Ajit Walke: swalke@ncsu.edu
- Raghunandan Ganesh Mante: rmante@ncsu.edu
- Soham Pravin Gundewar: sgundew@ncsu.edu
- Clone the Repository:
git clone https://github.com/SPGundewar/Network-Threat-Detection.git
cd Network-Threat-Detection
- Download Preprocessed Data & Models: Place them in the
data/
folder. - Install Dependencies:
pip install -r requirements.txt
- Run Preprocessing Notebook (Optional):
Update Kaggle API credentials in
Preprocessing.ipynb
and execute it.
- Launch Jupyter Notebook:
jupyter notebook
- Open and run the following notebooks:
- 🛠️
Preprocessing.ipynb
- 🤖
AutoEncoder_and_RandomForest.ipynb
- 🌳
Decision_Tree_RandomForest.ipynb
- 📍
KNN.ipynb
- 🛠️
Network-Threat-Detection/
├── data/ # Preprocessed data & models
├── Preprocessing.ipynb # Data preprocessing steps
├── AutoEncoder_and_RandomForest.ipynb# ML model implementation
├── Decision_Tree_RandomForest.ipynb # Model analysis
├── KNN.ipynb # KNN analysis
├── P13_NetworkThreat_Detection.pdf # Project report
├── requirements.txt # Python dependencies
└── README.md # Documentation
- Detailed findings and insights are documented in the project report:
We welcome contributions! 🚀 Feel free to fork this repository, create a pull request, and enhance the project.
This project is licensed under the MIT License.
A big thank you to the NSL-KDD dataset creators and the open-source community for their invaluable tools and resources.
🔒 Stay Secure, Stay Safe! 🔒
📧 For queries, reach out to any team member via their listed email addresses.