A spam filter trained on real email data, and a digit reader trained on 42,000 handwritten samples from Kaggle's MNIST set — built, evaluated, and tested end to end in Python.
Every message boils down to one question: does the pattern of words look like something a person wrote, or something designed to get clicked? The model answers by reading term frequency, not by reading intent.
This calls the actual Naive Bayes weights and TF-IDF vocabulary exported from training — not a simulation.
Every digit arrives as 784 numbers — one per pixel, brightness 0 to 255, no picture file involved. The model never sees a "3"; it sees a specific arrangement of light and dark, and learns which arrangements repeat.
Each one is an actual Kaggle MNIST image the model never trained on, with its real prediction from the trained Random Forest.