Coding Challenge 187: Bayes Theorem

The Coding Train · Beginner ·🔢 Mathematical Foundations ·9mo ago

Key Takeaways

Implements Naive Bayes text classifier in JavaScript using p5.js, covering Bayes' theorem, word frequency analysis, and Laplacian smoothing

Original Description

In this coding challenge, I struggle my way through implementing a Naive Bayes text classifier in JavaScript using p5.js. I explain Bayes' theorem, demonstrate word frequency analysis, implement Laplacian smoothing, and build a working sentiment classifier that runs entirely in the browser. Code: https://thecodingtrain.com/challenges/187-bayesian-text-classification 🚀 Watch this video ad-free on Nebula https://nebula.tv/videos/codingtrain-coding-challenge-187-bayes-classifier p5.js Web Editor Sketches: 🕹️ Text Classifier - Initial Version: https://editor.p5js.org/codingtrain/sketches/RZ8a1z4DN 🕹️ Text Classifier - Refactored Version: https://editor.p5js.org/codingtrain/sketches/P3ngrAANX 🕹️ Text Classifier - File Loading Version: https://editor.p5js.org/codingtrain/sketches/WowR2Q9xg 🎥 Previous: https://youtu.be/5iSAvzU2WYY?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH 🎥 All: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH References: 📓 Naive Bayes Classifier: https://en.wikipedia.org/wiki/Naive_Bayes_classifier 📓 Laplacian Smoothing: https://en.wikipedia.org/wiki/Additive_smoothing Videos: 🚂 https://youtu.be/unm0BLor8aE 🚂 https://youtu.be/7DG3kCDx53c?list=PLRqwX-V7Uu6YEypLuls7iidwHMdCM6o2w 📺 https://youtu.be/HZGCoVF3YvM 🚂 https://youtu.be/0Ad5Frf8NBM Live Stream Archives: 🔴 https://youtube.com/live/TsBDm0P0qaA Related Coding Challenges: 🚂 https://youtu.be/unm0BLor8aE 🚂 https://youtu.be/eGFJ8vugIWA Timestamps: 0:00:00 Hello! 0:03:34 Explaining Bayes' Theorem 0:12:07 What is Naive Bayes? 0:13:49 Setting up the Classifier in p5.js 0:15:41 Coding the train() function 0:22:14 Coding the classify() Function 0:24:45 Revising the train() function 0:29:06 Implementing Probability Calculations 0:33:24 Laplacian (Additive) Smoothing 0:42:21 Ignoring the enominator (Normalization) 0:45:36 Quick User Interface 0:49:42 Final thoughts and next steps. Editing by Mathieu Blanchette Animations by Jason Heglund Music from Epidemic Sound 🚂
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Related Reads

Chapters (12)

Hello!
3:34 Explaining Bayes' Theorem
12:07 What is Naive Bayes?
13:49 Setting up the Classifier in p5.js
15:41 Coding the train() function
22:14 Coding the classify() Function
24:45 Revising the train() function
29:06 Implementing Probability Calculations
33:24 Laplacian (Additive) Smoothing
42:21 Ignoring the enominator (Normalization)
45:36 Quick User Interface
49:42 Final thoughts and next steps.
Up next
Solve Any Math Problem Step by Step — Free (Type or Snap a Photo)
Zariga Tongy
Watch →