/IntrusionDetection

Intrustion Detection Models based on Internet Traffic Data obtained from the NSL-KDD Dataset

Primary LanguageJupyter NotebookMIT LicenseMIT

Cyber-Vyuh

About the Project

The project uses the NSL-KDD Dataset from Kaggle to create machine learning models that allow the intrusion detection in networks based on the Internet traffic info.The dataset was downloaded from Kaggle. Here is the link to the dataset.

Setup

To run the notebook one can either prefer using Google Colab the better method or run the notebook locally.

For running the notebook locally, follow the steps [Windows]:

  1. Clone the repository using git clone https://github.com/Namratha2301/IntrusionDetection.git
  2. Set directory to cloned repo cd IntrusionDetection
  3. Create a python virtual environment for the project using python -m venv env
  4. Activate the environment using env\Scripts\activate
  5. Install the dependencies using pip install -r requirements.txt
  6. Open the Jupyter Notebook IDE using jupyter notebook
  7. The Jupyter Notebook IDE should open up allowing you to run the file

Machine Learning Models and Scores

S.No Model Package Score
1 Random Forest SciKit-Learn 99.5%
2 Support Vector Machine SciKit-Learn 98.2%
3 Logistic Regression SciKit-Learn 93.7%
4 Gaussian Naive Bayes SciKit-Learn 88%
5 Gradient Boosting SciKit-Learn 99.1%
6 Multi-Layer Perceptron SciKit-Learn 99.2%
7 Decision Tree SciKit-Learn 92.4%