A comprehensive end-to-end MLOps project that implements a Network Security System using machine learning for threat detection and analysis. This project demonstrates professional-grade software engineering practices, MLOps principles, and cloud integration.
- End-to-End MLOps Pipeline: Complete workflow from data ingestion to model deployment
- Automated ML Pipeline: Automated data validation, transformation, and model training
- Cloud Integration: Ready for cloud deployment with infrastructure-as-code support
- MLflow Integration: Model tracking and experiment management
- RESTful API: FastAPI-based API for model inference and training
- Modular Architecture: Well-structured, maintainable codebase following best practices
- Python 3.x
- FastAPI
- Scikit-learn
- MLflow
- DAGsHub
- AWS
- Docker
- Git
Successful deployment pipeline with continuous integration, delivery, and deployment stages
Model tracking in MLflow showing excellent performance metrics (F1: 0.968, Precision: 0.965, Recall: 0.972)
Project repository with MLOps experiment tracking
Docker images stored in Amazon Elastic Container Registry
Artifact and model storage in Amazon S3
networksecurity/
├── cloud/ # Cloud infrastructure and deployment configs
├── components/ # Core ML pipeline components
├── constant/ # Configuration constants
├── entity/ # Data models and entities
├── exception/ # Custom exception handling
├── logging/ # Logging configuration
├── pipeline/ # ETL and ML workflows
└── utils/ # Utility functions and helpers
The project follows a modular architecture with clear separation of concerns:
- Data Ingestion: Handles data collection and preprocessing
- Data Validation: Ensures data quality and consistency
- Data Transformation: Feature engineering and data preparation
- Model Training: Automated model training with hyperparameter tuning
- Model Evaluation: Comprehensive model evaluation metrics
- API Layer: RESTful endpoints for model inference
- Clone the repository:
git clone https://github.com/yourusername/NetworkSecuritySystem.git
cd NetworkSecuritySystem
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
cp .env.example .env
# Edit .env with your configuration
- Run the application:
uvicorn app:app --reload
-
Connect to your EC2 instance using SSH
-
Update the system packages:
sudo apt-get update -y
sudo apt-get upgrade -y
- Install Docker:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
- Add your user to the Docker group:
sudo usermod -aG docker ubuntu
newgrp docker
- Clone and set up the project:
git clone https://github.com/yourusername/NetworkSecuritySystem.git
cd NetworkSecuritySystem
- Build and run with Docker:
docker build -t networksecurity .
docker run -d -p 8000:8000 networksecurity
GET /
: Health check endpointPOST /train
: Trigger model training pipelinePOST /predict
: Get predictions from the trained model
Our model achieves excellent performance metrics:
- F1 Score: 0.968
- Precision: 0.965
- Recall: 0.972
- Network traffic analysis
- Anomaly detection
- Threat classification
- Real-time monitoring capabilities
Anusha Chebolu
- Email: [email protected]
- LinkedIn: https://www.linkedin.com/in/chebolu-anusha/