Table of Contents
This is a simple backend API meant to expose a pre-trained Catboost model,
allowing it to accept emails and make predictions on if the Email is a
phishing email or not based on the textual features of the email.
The Catboost model was trained with a sample dataset comprising 9,000
phishing and non-phishing emails, with and accuracy of 98.83% on the test dataset.
The model was tuned using nested cross-validation techniques and based of the results of this,
the hyper-parameters were selected.
The front-end of this application is a simple Chrome Browser extension that can be found Here
This application was built with the following libraries and frameworks
This app is currently hosted on the Digital Ocean App Platform Here. However, the repository can be easily cloned and run locally with the following steps.
- Python 3
python --version
- Pipenv
pip install pipenv
- git
All project dependencies are listed in the Pipfile of the project
- Clone the repo
git clone https://github.com/jayanwana/Phishing_Detector_Backend.git
- Move into the local repository directory that was just cloned
cd Phishing_Detector_Backend - Install python packages
pipenv install
After installation, run the application with
python app.py
or
python3 app.py
or flask run
For more examples, please refer to the Documentation
After running the application, it can be tested using the chrome extension, or any other http request making software for example, cURL
curl -X POST -H "Content-Type: application/json" -d "{\"text\": \"<Text for classification goes here>\"}" http://127.0.0.1:5000/classifyJohn Anwana - john2.anwana@live.uwe.ac.uk
Project Link: https://github.com/jayanwana/Phishing_Detector_Backend.git