AstraAI

Language Β· machine learning

Catch the spam

In the curriculum:Language (NLP)See the map β†’
πŸŽ“ School maths Β· Years 8–9Probability β€” Use how often words appear to weigh a likely outcome.Maths by year β†’

The Case. Your email hides junk mail automatically. How? You show a computer lots of spam and normal messages until it learns the difference.

Your tools. scikit-learn turns words into numbers (CountVectorizer) and learns a spam-detector (MultinomialNB).

Investigate. Press Run (the AI library loads the first time β€” give it a moment). Then it judges a brand-new message.

  • Change new to your own message β€” does it get caught?
  • It never saw your exact message β€” it learned patterns of spammy words.
your_code.py
Starting Python…
The Reveal

Starting Python… (first time only β€” a few seconds)

πŸ—’οΈ Detective's notes

Bundles your findings, chart and code into one PDF you can keep, print or hand in.

🧩 How this code works

The tools it uses

  • scikit-learn β€” a real AI toolkit that learns patterns from examples.

What this one does

  • β€’ It trains a model to learn from examples.

How to read it, top to bottom

  1. 1. Import β€” bring in the tools (listed above).
  2. 2. The data β€” the lists and numbers near the top. These are the bits you change.
  3. 3. The work β€” a little maths, or a loop that repeats a step.
  4. 4. Show it β€” print(...) writes words; plt.show() draws the picture.

Use it for your own problems

  • Change the numbers at the top and press Run β€” nothing breaks, so experiment!
  • Ask your own version of the question β€” swap in your family, your scores, your week.
  • The same tools work on any numbers β€” that's the superpower you're learning.
Need a hint?

The computer never memorises messages β€” it learns which words show up more in spam.