asif-nawaz-ml/network-security-phishing
๐ Network Security - Phishing Detection System
๐ Project Overview
An end-to-end Machine Learning project that detects phishing websites using network security features. Built with a complete MLOps pipeline.
๐๏ธ Project Architecture
MongoDB Atlas โ Data Ingestion โ Data Validation โ Data Transformation โ Model Trainer โ FastAPI App
๐ Dataset
- Source: Phishing Website Dataset
- Rows: 11,055
- Features: 30 network security features
- Target: Result (Phishing or Legitimate)
๐ฏ Model Performance
๐ง Tech Stack
- Language: Python 3.10
- ML: Scikit-learn, XGBoost
- Database: MongoDB Atlas
- API: FastAPI
- Preprocessing: KNN Imputer, Robust Scaler, SMOTETomek
- Deployment: Hugging Face Spaces (Docker)
- CI/CD: GitHub Actions
๐ Project Structure
NetworkSecurity/ โโโ networksecurity/ โ โโโ components/ โ โ โโโ dataingestion.py โ โ โโโ datavalidation.py โ โ โโโ datatransformation.py โ โ โโโ modeltrainer.py โ โโโ entity/ โ โ โโโ configentity.py โ โ โโโ artifactentity.py โ โโโ pipeline/ โ โ โโโ training_pipeline.py โ โโโ exception/ โ โโโ logging/ โ โโโ utils/ โโโ templates/ โ โโโ index.html โโโ app.py โโโ Dockerfile โโโ requirements.txt โโโ schema.yaml
๐ How to Run Locally
1. Clone Repository
git clone https://github.com/Asif5588-M/NetworkSecurity.git
cd NetworkSecurity2. Create Environment
conda create -n networksecurity python=3.10 -y
conda activate networksecurity3. Install Dependencies
pip install -r requirements.txt4. Set Environment Variables
MONGODB_URL="your-mongodb-url"5. Run App
python app.py6. Open Browser
http://localhost:7860๐ Live Demo
๐จโ๐ป Author
Asif Malik
- GitHub: @Asif5588-M
- Hugging Face: @asif-nawaz-ml
