Alla Bannikova

“Each step prepares you for the next one. The projects helped me to gain confidence and the community is very beneficial.”

Alla Bannikova

Data Analyst

Project overview

In this project, you’ll take on the role of a data scientist tasked with building a spam filter for SMS messages. You’ll leverage your skills in conditional probability and apply the Naive Bayes algorithm using R to create a classifier that can effectively distinguish between spam and legitimate messages.

This hands-on project allows you to put probability theory into practice in a real-world application. You’ll preprocess text data, build a vocabulary from the training set, calculate probabilities, and tune your model to optimize predictive performance. The end result will be a functional spam filter you can add to your data science portfolio.

Objective: Use conditional probability concepts and the Naive Bayes algorithm to build an SMS spam filter in R, developing an end-to-end data science solution to a practical problem.

Key skill required

To complete this project, it's recommended to build these foundational skills in R

  • Understanding conditional probability concepts and notation
  • Calculating conditional probabilities of words appearing in spam vs ham emails
  • Applying Bayes' Theorem to update spam probabilities based on word frequencies
  • Understanding how Naive Bayes classifies emails as spam or ham

Projects steps

Step 1: Exploring the Dataset

Step 2: Training, Cross-validation and Test Sets

Step 3: Data Cleaning

Step 4: Creating the Vocabulary

Step 5: Calculating Constants First

Step 6: Calculating Probability Parameters

Step 7: Classifying A New Message

Step 8: Calculating Accuracy

Step 9: Hyperparameter Tuning and Cross-validation

Step 10: Test Set Performance

Step 11: Next Steps

Master skills faster with Dataquest

Go from zero to job-ready

Go from zero to job-ready

Learn exactly what you need to achieve your goal. Don’t waste time on unrelated lessons.

Build your project portfolio

Build your project portfolio

Build confidence with our in-depth projects, and show off your data skills.

Challenge yourself with exercises

Challenge yourself with exercises

Work with real data from day one with interactive lessons and hands-on exercises.

Showcase your path certification

Showcase your path certification

Share the evidence of your hard work with your network and potential employers.

The Dataquest guarantee

Guarantee

Dataquest has helped thousands of people start new careers in data. If you put in the work and follow our path, you’ll master data skills and grow your career.

Money

We believe so strongly in our paths that we offer a full satisfaction guarantee. If you complete a career path on Dataquest and aren’t satisfied with your outcome, we’ll give you a refund.

Recommended projects

Free

Investigative Statistical Analysis – Analyzing Accuracy in Data Presentation

Practice using R to analyze movie ratings data, compare 2015 vs 2016 ratings, and apply sampling and distributions to investigate bias.

R Intermediate 8 steps
Free

Predicting Listing Gains in the Indian IPO Market Using PyTorch

Practice building a regularized deep learning model in PyTorch to predict IPO profitability using real Indian stock market data with advanced evaluation techniques.

Python Intermediate 10 steps
Free

Exploring Financial Data using Nasdaq Data Link API

Practice retrieving financial data from APIs, manipulating it with Pandas, and visualizing trends using Python.

Python Intermediate 10 steps
Free

NYC Schools Perceptions

Practice data cleaning, analysis, and visualization in R to explore survey data and showcase your skills with R Notebooks.

R Beginner 3 steps
Free

Investigative Statistical Analysis – Analyzing Accuracy in Data Presentation

Practice statistical analysis in Python to investigate movie rating bias and determine if Fandango inflated ratings.

Python Intermediate 8 steps
Free

Building Fast Queries on a CSV

Practice implementing an inventory system for a laptop store using Python classes, dictionaries, and binary search.

Python Intermediate 10 steps
Free

Garden Simulator Text Based Game

Practice using OOP, error handling, and randomness in Python to create an interactive gardening game simulator.

Python Beginner 11 steps
Free

Predicting Heart Disease

Practice building a K Nearest Neighbors classifier in Python to predict heart disease risk from patient data.

Python Intermediate 10 steps
Free

Word Raider

Practice using Python variables, lists, loops, conditionals, and file handling to build an interactive word-guessing game.

Python Beginner 11 steps

Grow your career with
Dataquest.

98%
of learners recommend
Dataquest for career advancement
4.85
Dataquest rating
SwitchUp Best Bootcamps
$30k
Average salary boost
for learners who complete a path
Aaron

Aaron Melton

Business Analyst at Aditi Consulting

“Dataquest starts at the most basic level, so a beginner can understand the concepts. I tried learning to code before, using Codecademy and Coursera. I struggled because I had no background in coding, and I was spending a lot of time Googling. Dataquest helped me actually learn.”

Jessi

Jessica Ko

Machine Learning Engineer at Twitter

“I liked the interactive environment on Dataquest. The material was clear and well organized. I spent more time practicing then watching videos and it made me want to keep learning.”

Victoria

Victoria E. Guzik

Associate Data Scientist at Callisto Media

“I really love learning on Dataquest. I looked into a couple of other options and I found that they were much too handhold-y and fill in the blank relative to Dataquest’s method. The projects on Dataquest were key to getting my job. I doubled my income!”

Join 1M+ data learners on
Dataquest.

1

Create a free account

2

Choose a learning path

3

Complete exercises and projects

4

Advance your career

Start learning today