Spam or Ham

With many users today getting more and more spam mail from companies, it can come to the point where a person can't tell if an email is an actual email. Our program has a web interface that allows users to enter the body of their email and we will show them another template that will tell them if our model believes their email is Spam or Ham (not spam).

What it does

Our website has a form with a user input that allows the user to enter the body of an email. It then runs the text of the email through a Random Forest Classifier to determine whether or not it is Spam or Ham.

How we built it

We built the web server with Flask and used Scikit-learn to get a Random Forest Classifier. We then had Flask render HTML templates and CSS to display to the user.

Challenges we ran into

A challenge we ran into was choosing a good model to use. After testing many models like OneR and NaiveBayes, we decided to use Random Forest because the accuracy was the highest.

Accomplishments that we're proud of

Something we are proud of is the HTML and CSS that makes the website look visually appealing so that users can understand their prediction on their choice of email.

What we learned

We learned about using libraries to build models for us, preprocessing data to feed into these models, and using Flask to render HTML templates and CSS.

What's next for Spam or Ham

Connecting with an API in order to automate the process of determining whether or not an email is Spam or Ham without user intervention.

Share this project:

Updates