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
Learn exactly what you need to achieve your goal. Don’t waste time on unrelated lessons.
Build your project portfolio
Build confidence with our in-depth projects, and show off your data skills.
Challenge yourself with exercises
Work with real data from day one with interactive lessons and hands-on exercises.
Showcase your path certification
Share the evidence of your hard work with your network and potential employers.
The Dataquest 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.
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
Investigating Fandango Movie Ratings
Practice using R to analyze movie ratings data, compare 2015 vs 2016 ratings, and apply sampling and distributions to investigate bias.
Investigative Statistical Analysis – Analyzing Accuracy in Data Presentation
Practice statistical analysis in Python to investigate movie rating bias and determine if Fandango inflated ratings.
NYC Schools Perceptions
Practice data cleaning, analysis, and visualization in R to explore survey data and showcase your skills with R Notebooks.
Building Fast Queries on a CSV
Practice implementing an inventory system for a laptop store using Python classes, dictionaries, and binary search.
Garden Simulator Text Based Game
Practice using OOP, error handling, and randomness in Python to create an interactive gardening game simulator.
Predicting Heart Disease
Practice building a K Nearest Neighbors classifier in Python to predict heart disease risk from patient data.
Word Raider
Practice using Python variables, lists, loops, conditionals, and file handling to build an interactive word-guessing game.
Predicting Condominium Sale Prices
Practice using linear regression in R to predict condominium sale prices based on size and location in New York City.
Kaggle Data Science Survey
Practice analyzing survey data in Python to uncover insights about data science careers and skills.
Grow your career with
Dataquest.


