Skip to content

Devendra-Chaurasiya/NIDS_ML_Traning_Model_XGBoost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Network Intrusion Detection System (NIDS) – CICIDS2017 Dataset

🚧 This project is currently under active development.
🧠 Looking for contributors and professional guidance to improve model performance and deployment.

This repository provides a machine learning pipeline to train a Network Intrusion Detection System (NIDS) using the CICIDS2017 dataset. It uses XGBoost for multiclass classification and includes full data processing, balancing, and model training.

πŸ“Œ Features

- Full pipeline for attack detection using machine learning
- CICIDS2017 dataset-based training
- Preprocessing and feature scaling
- Class imbalance handled using SMOTE
- XGBoost models for:
  - Attack Type Classification (8 classes)
  - Threat Level Classification (6 classes)

---

πŸ› οΈ Setup Instructions

1. Clone the repository:

   ```bash
   git clone https://github.com/your-username/NIDS-Training.git
   cd NIDS-Training
  1. Install required packages manually:

    pip install pandas numpy scikit-learn imbalanced-learn xgboost joblib

πŸ” Pipeline Overview

  1. Load and label data β†’ load_data.py
  2. Preprocess and scale β†’ preprocess.py
  3. Balance with SMOTE β†’ balance_data.py
  4. Train XGBoost models β†’ train_model.py

πŸ“¦ Outputs

  • X_scaled.csv, y_labels.csv β€” preprocessed features and labels
  • X_resampled.parquet, y_resampled.parquet β€” SMOTE-balanced data
  • scaler.pkl β€” saved StandardScaler object
  • ids_xgboost_multiclass.pkl β€” model for attack type
  • ids_xgboost_threat.pkl β€” model for threat level

🀝 Contributing

This project is a work in progress. Contributions, feedback, or expert advice are highly appreciated!

Steps to contribute:

  1. Fork the repo
  2. Create a new branch: git checkout -b feature/your-feature
  3. Commit changes: git commit -m 'Add feature'
  4. Push to branch: git push origin feature/your-feature
  5. Open a pull request

πŸ“« Contact


About

Building a Machine Learning-based NIDS using XGBoost trained on the CICIDS2017 dataset. πŸš€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages