“I’ve spent months learning on Dataquest and have thoroughly enjoyed the approach and the fact that I got to build portfolio-worthy projects.”

Yeside Okelana

Project Manager

Course overview

In this course, we’ll build on the fundamentals of probabilities, including the theoretical and empirical probabilities, the probability rules ( the addition rule and the multiplication rule), and the counting techniques (the rule of product, permutations, and combinations).

You’ll learn to assign probabilities to events based on certain conditions by using conditional probability rules, to assign probabilities to events based on whether they are in a relationship of statistical independence or not with other events, and to assign probabilities to events based on prior knowledge by using Bayes’s theorem. You’ll also learn to create a spam filter for SMS messages using the multinomial Naive Bayes algorithm.

Best of all, you’ll learn by doing — you’ll practice and get feedback directly in the browser.

Key skills

  • Assigning probabilities based on conditions
  • Assigning probabilities based on prior knowledge
  • Assigning probabilities based on event independence
  • Creating spam filters using multinomial Naive Bayes

Course outline

Introduction to Conditional Probability in Python [5 lessons]

Conditional Probability: Fundamentals 1h

Lesson Objectives
  • Define conditional probability
  • Assign probabilities based on conditions
  • Employ standard notation for conditional probability

Conditional Probability: Intermediate 2h

Lesson Objectives
  • Define conditional probability rules
  • Employ the multiplication rule
  • Identify statistical independence between events

Bayes Theorem 1h

Lesson Objectives
  • Assign probabilities based on prior knowledge
  • Employ Bayes' Theorem
  • Employ the law of total probability

The Naive Bayes Algorithm 2h

Lesson Objectives
  • Explain how a spam filter works
  • Employ the Naive Bayes algorithm
  • Define the multinomial Naive Bayes algorithm

Guided Project: Building a Spam Filter with Naive Bayes 2h

Lesson Objectives
  • Create a spam filter using multinomial Naive Bayes
  • Expand your portfolio using conditional probability and Naive Bayes
  • Employ conditional probability concepts

Projects in this course

Guided Project: Building a Spam Filter with Naive Bayes

For this project, we’ll step into the role of data scientists to build an SMS spam filter using the Naive Bayes algorithm. We’ll clean text data and calculate probabilities to classify messages.

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.

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.

Grow your career with

of learners recommend
Dataquest for career advancement
Dataquest rating
SwitchUp Best Bootcamps
Average salary boost
for learners who complete a path

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.”


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


Create a free account


Choose a learning path


Complete exercises and projects


Advance your career

Start learning today