This repository contains Jupyter notebooks designed for analyzing the CICIDS 2017 dataset, which focuses on intrusion detection. The notebooks provide a comprehensive framework for data exploration, preprocessing, and machine learning model training.
- Dataset Download: Automates the retrieval of the CICIDS 2017 dataset.
- Exploratory Data Analysis (EDA): Provides insights into data distributions and patterns.
- Model Training:
- Binary Classification: Logistic Regression and Support Vector Machine.
- Multi-Class Classification: K-Nearest Neighbors, Random Forest, Decision Tree.
- Deep Learning: Multi-Layer Perceptron, Convolutional Neural Network, Deep Neural Network for both binary and multi-class tasks.
Clone the repository and open the Jupyter notebooks to start analyzing the dataset. Follow the instructions within each notebook to execute the code and interpret the results.
To set up a Conda environment for working with the CICIDS 2017 dataset, follow these steps:
-
Create a new Conda environment:
conda create -n cicids python=3.9
-
Activate the environment:
conda activate cicids
-
Install necessary libraries:
pip install numpy pandas seaborn matplotlib scikit-learn tensorflow
-
Install additional packages:
pip install missingno imbalanced-learn wget
-
Install Jupyter Notebook:
pip install jupyter notebook
-
Install IPython kernel for Jupyter:
pip install ipykernel
-
Add the Conda environment to Jupyter Notebook:
python -m ipykernel install --user --name=cicids
Ensure you have the necessary libraries installed, such as pandas
, numpy
, seaborn
, missingno
, imbalanced-learn
, scikit-learn
, and tensorflow
or keras
for deep learning models.
- CICIDS Dataset: CICIDS 2017 Machine Learning Repository
- Data Preprocessing: Data Preprocessing Notebook
- DNN and Preprocessing: DNN and Preprocessing Repository
- Intrusion Detection: Intrusion Detection Notebook
- Dataset Preprocessing: CICIDS 2017 ML Preprocessing
- Autoencoder: Autoencoder Model for CICIDS 2017
- Data Cleaning and Random Forest: CICIDS 2017 Data Cleaning
This project is licensed under the MIT License.