Coding Challenge 187: Bayes Theorem
Skills:
ML Maths Basics90%
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
More on: ML Maths Basics
View skill →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.
🎓
Tutor Explanation
DeepCamp AI