Supervised-Learning-Pipeline-for-Phishing-Website-Classification
๐ Overview
This project implements an intelligent phishing detection system using machine learning models, with a focus on CatBoost, Random Forest, LightGBM, and Decision Tree algorithms. The primary goal is to detect phishing websites in real time with high accuracy and low false negative rates.
The final application, PhishGuard, provides a web-based interface to classify URLs as phishing or legitimate using the trained CatBoost model.
๐ Features
- โ Real-time phishing website detection via a Django web app.
- ๐ Utilizes optimized CatBoost model with 97.23% accuracy and 1.4% false negative rate.
- ๐ง Trained on a clean, balanced dataset with 11,000 records and 30 features.
- ๐งช Evaluated using precision, recall, F1-score, and confusion matrix.
- ๐ Compared with other models and previous research to validate effectiveness.
๐ Dataset
- Source: Kaggle
- Name: Phishing Website Detector
- Details:
- 11,000 records
- 30 features
- Target labels:
-1(phishing) and1(legitimate)
๐งฐ Tech Stack
- Languages: Python, Django
- IDE: VS Code
- Libraries:
pandas,numpy,scikit-learn,seaborn,matplotlibcatboost,lightgbmpicklefor model serialization
- Database: Django ORM
๐ Model Performance
| Model | Test Accuracy | Validation Accuracy | False Negatives |
|---|---|---|---|
| CatBoost (1000 it) | 97.28% | 97.68% | 17 |
| Random Forest | 96.87% | 97.40% | 28 |
| LightGBM | 95.80% | 96.40% | 33 |
| SVM | 94.68% | 95.14% | 36 |
| Decision Tree | 91.64% | 92.00% | 51 |

Log in or sign up for Devpost to join the conversation.