Starting and learning

Machine learning for high school students

Machine learning teaches a computer to recognise patterns from examples, such as telling clothing items apart in photos, sorting penguins by species from their measurements or recognising hand-drawn sketches. With algebra, basic probability and some Python you can build and test your own models.

How machine learning is used: examples for high school students

Recognising drawings

A neural network looks at the strokes of a sketch and predicts what it shows, after learning from many drawings people have made. This is image classification, the same idea used to read handwriting.

Real exampleQuick, Draw!Google's Quick, Draw! asks a neural network to recognise your doodle and adds drawings to a large doodle dataset shared publicly for machine learning research.

Identifying birds from their songs

A recording is turned into a spectrogram, a picture of the sound, and a neural network predicts which species is singing. Thousands of people use apps like this to record wildlife for scientists.

Real exampleBirdNETBirdNET is an open-source project that uses deep learning to recognise over 11,000 species globally from their sounds, with an app for citizen scientists.

Predicting the shapes of proteins

A protein's 3D shape decides what it does, and measuring it in a lab is slow and expensive. Deep learning models predict the shape from the sequence of amino acids, which helps biologists and medical researchers.

Real exampleAlphaFold (Nature, 2021)DeepMind's paper 'Highly accurate protein structure prediction with AlphaFold' describes a neural network that predicts a protein's 3D structure from its amino acid sequence.

Telling clothing items apart

Many students start by training a model to sort small greyscale photos of clothes into categories. It is a good first project because the data is clean and the result is easy to check.

Real exampleFashion-MNISTFashion-MNIST, from Zalando Research, has 70,000 greyscale images of clothing in 10 categories and was designed as a drop-in replacement for the MNIST digits benchmark.

Can high school students learn machine learning?

Yes. With school algebra, some probability and basic Python you can train and test real models on public datasets. Start with Python, then tables of data and simple models, and add neural networks for images once you are comfortable.

  1. PythonVariables, loops, lists and functions in a notebook, with small exercises you can check yourself.Learn it in Python
  2. Data and plotsLoad a dataset with pandas, look at its columns and plot it before you train anything.Learn it in Data Tools
  3. The maths behind predictionsFunctions and graphs, the dot product and the idea of error, which connect directly to the algebra you study at school.Learn it in Maths
  4. Your first modelsClassify penguins by species from their measurements and check accuracy on data the model has not seen.Learn it in Machine Learning

Going further with machine learning after school

If you already work in the field

If you enjoy a school subject such as biology, physics or geography, use it: build a small project on a public dataset from that subject. A project you can explain, shown at a science fair or shared on GitHub, says more than a list of courses.

If you come from data science or ML

If you already code and have trained a model or two, add the maths: linear algebra, calculus and probability are what separate using models from understanding them. A degree in mathematics, computer science or a science keeps the most options open.

Roles that do this workData scientistMachine learning engineerResearch scientist

Tools you will use

ToolWhat you use it for
Teachable MachineTrains an image classifier from webcam pictures in minutes, a quick way to see how labels work.
Google ColabRuns Python notebooks free in the browser with nothing to install on a school computer.
PythonThe language used for nearly all machine learning tutorials, libraries and course exercises.
scikit-learnTrains simple classifiers and measures their accuracy on test data with a few lines of code.

Public data to practise on

  • Fashion-MNIST: Small greyscale images of ten clothing types, a standard first image classification task.
  • Palmer Penguins: Measurements of three penguin species for practising charts and a first classifier on a table.

Your first project

Download Fashion-MNIST, classify the clothing images with logistic regression in scikit-learn, and compare it with always guessing one class using accuracy on the test images.

Common questions

What subjects should I take for a career in machine learning?

Mathematics is the most useful, followed by computer science and a science you enjoy. Statistics and further maths help because machine learning relies on probability, algebra and calculus.

Is machine learning too hard for high school students?

No. Training a model with a library takes a few lines of Python, and the ideas of examples, labels and testing are easy to grasp. The deeper maths comes later and builds on what you study now.

Do I need to pay for software to learn machine learning?

No. Python, scikit-learn and PyTorch are free and open source, and free notebook services such as Google Colab run in a browser.

Courses for these skills

New to programming or maths? Start with Python, or follow the machine learning path in order. Published lessons are free to read; compare Free and Pro.