IntrusionVigor is a machine learning-based intrusion detection system designed to preprocess data, train various models, and evaluate their performance. This project aims to enhance network security by leveraging advanced machine learning techniques.
IntrusionVigor aims to empower network security by utilizing machine learning algorithms for intrusion detection. The system preprocesses network data, trains multiple machine learning models including K-Nearest Neighbors, Random Forest, Support Vector Machine, and Gradient Boosting Machine, and evaluates their effectiveness. This project provides a user-friendly command-line interface to facilitate the preprocessing, training, and evaluation processes, making it easier to integrate and deploy advanced intrusion detection capabilities.
Ensure you have the following installed on your machine:
- Python 3.6 or higher
- Git
Follow these steps to set up the project:
- Clone the repository:
git clone https://github.com/srijan-lamichhane/IntrusionVigor.git cd IntrusionVigor
- Copy the
.env.example
to.env
:cp .env.example .env
- Create a virtual environment:
python -m venv _venv
- Activate virtual environment
_venv
and.env
file:source _venv/bin/activate source .env
- Install the required packages:
pip install -r requirements.txt
- Install the package:
python setup.py install
-
Clone the repository:
git clone https://github.com/srijan-lamichhane/IntrusionVigor.git cd IntrusionVigor
-
Install virtual Environment:
pip install virtualenv
-
create virtual Environment:
virtualenv _venv
-
Activate virtual Environment:
_venv/scripts/activate
-
set PYTHONPATH environment variable:
$env:PYTHONPATH = "$env:PYTHONPATH;$PWD"
-
Install the required packages:
pip install -r requirements.txt
-
Install the package:
python setup.py install
Once the installation steps are completed, you can run the program using the following command:
main
This will start the Intrusion Detection System menu where you can choose various options to preprocess data, train models, and evaluate them.
Here are the available commands in the menu:
- Exit: Exit the program.
- Open Data Visualization Notebook: Open the Jupyter Notebook for data visualization.
- Preprocess Data: Prepare the data for training.
- Train Scalar Model: Train the scaler model for data normalization.
- Train KNN Model: Train the K-Nearest Neighbors model.
- Train Random Forest Model: Train the Random Forest model.
- Train SVM Model: Train the Support Vector Machine model.
- Train GBM Model: Train the Gradient Boosting Machine model.
- Evaluate KNN Model: Evaluate the K-Nearest Neighbors model.
- Evaluate Random Forest Model: Evaluate the Random Forest model.
- Evaluate SVM Model: Evaluate the Support Vector Machine model.
- Evaluate GBM Model: Evaluate the Gradient Boosting Machine model.
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License.