Geospatial Machine Learning
About This Course
Build machine learning models on spatial data, where the location of an observation carries information that ordinary models throw away. Over three days you classify multispectral Landsat imagery into land cover classes, detect features in drone imagery, and model continuous surfaces from scattered observations.
The anchoring case study is a real one. Counting short-tailed shearwater burrows has traditionally meant walking transects across the breeding grounds, which disturbs the colony and can collapse the burrows you are trying to census. Instead you process night-time infra-red drone imagery into candidate burrow locations, then check your answer against a physical ground survey and count exactly how often you were wrong.
Day 2 is what separates this from a generic machine learning course. Near things are more related than distant things, which means spatial observations are not independent, and most models assume they are. You learn to measure that dependence, to tell a genuine spatial pattern from an artefact of the data, and to work with it rather than around it.
Who This Course Is For
Remote sensing scientists, GIS analysts, data scientists and researchers who need to build models on imagery and location data rather than on tidy tables.
It suits people working with satellite and drone imagery, environmental and survey observations, or statistical boundaries, who want land cover classification, feature detection and spatial prediction they can defend. Typical backgrounds include environment and water agencies, mining and resources, transport, emergency services, health and statistical agencies.
Prerequisites
Working Python, and prior experience with spatial data in Python. You should already read vector data into GeoPandas, handle rasters in xarray or Rasterio, and know what a coordinate reference system is and when to reproject.
Our Python for Geospatial Analysis course covers that ground. We revise it briefly rather than teaching it from scratch.
No prior machine learning or spatial statistics experience is assumed.
What You'll Learn
- Classify multispectral satellite imagery into land cover classes with scikit-learn, and map the predictions back onto the raster.
- Build a feature detection pipeline over drone imagery with scikit-image, from raw pixels through to labelled candidate features.
- Validate a spatial model against ground-truthed survey data, and count the false positives and false negatives.
- Measure spatial dependence and autocorrelation with PySAL, and identify hotspots, coldspots and local anomalies.
- Judge when spatial dependence invalidates a standard machine learning model, and fit one that treats location as information rather than noise.
- Predict continuous surfaces from scattered observations, and process imagery that does not fit in memory.
Course Syllabus
Day 1 — Learning from imagery
- Preparing raster and vector data for machine learning
- Supervised classification of multispectral satellite imagery
- Reshaping predictions back into geographic space
- Feature detection in drone imagery
Day 2 — Spatial dependence
- Why spatially dependent data breaks ordinary machine learning
- Measuring spatial dependence and autocorrelation with PySAL
- Finding hotspots, coldspots and spatial anomalies
- Building models that account for location
Day 3 — Surfaces, validation and scale
- Predicting continuous surfaces from scattered observations
- Validating spatial models against ground-truthed data
- Scaling image processing beyond a single machine
- Visualising model output over very large datasets
Worked examples use satellite, drone and survey data. Bring your own data and the trainer will work through it where it fits the material.