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
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.
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.
Exploring Financial Data using Nasdaq Data Link API
Practice retrieving financial data from APIs, manipulating it with Pandas, and visualizing trends using Python.
NYC Schools Perceptions
Practice data cleaning, analysis, and visualization in R to explore survey data and showcase your skills with R Notebooks.
Investigative Statistical Analysis – Analyzing Accuracy in Data Presentation
Practice statistical analysis in Python to investigate movie rating bias and determine if Fandango inflated ratings.
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.
Grow your career with
Dataquest.