Skip to content

A simple Flask application to make phishing email classifications using a pre trained Catboost classifier machine learning algorithm

Notifications You must be signed in to change notification settings

jayanwana/Phishing_Detector_Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backend For Phishing Email Detector

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contact

About The Project

Phishing Email Detector

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

(back to top)

Built With

This application was built with the following libraries and frameworks

(back to top)

Getting Started

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.

Prerequisites

  • Python 3
    python --version
  • Pipenv
    pip install pipenv
  • git

Installation

All project dependencies are listed in the Pipfile of the project

  1. Clone the repo
    git clone https://github.com/jayanwana/Phishing_Detector_Backend.git
  2. Move into the local repository directory that was just cloned
    cd Phishing_Detector_Backend
  3. Install python packages
    pipenv install

(back to top)

Usage

After installation, run the application with
python app.py or python3 app.py or flask run
For more examples, please refer to the Documentation

Testing

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/classify

(back to top)

Contact

John Anwana - john2.anwana@live.uwe.ac.uk

Project Link: https://github.com/jayanwana/Phishing_Detector_Backend.git

(back to top)

About

A simple Flask application to make phishing email classifications using a pre trained Catboost classifier machine learning algorithm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages