EASC3420: Machine Learning for Earth and Planetary Sciences

Undergraduate course, Department of Earth and Planetary Sciences, 2025

Discover how machine learning is transforming Earth and Planetary Sciences. This course gives you hands-on experience applying ML techniques—from classification to deep learning—to analyze complex geoscience data. You’ll work with real datasets in climate science, seismology, and planetary exploration, building the skills to extract meaningful patterns and insights from some of science’s most challenging data.

Prerequisite

EASC2410 or demonstrated fluency in Python programming w/ equivalent courses or research experience (students who have not completed EASC2410 must seek instructor’s approval).

Learning Objectives

  • L01: Explain fundamental machine learning concepts and their relevance to earth and planetary sciences.
  • L02: Use Python and key ML libraries (e.g., scikit-learn, pandas, matplotlib) for data analysis and modeling.
  • L03: Apply classification, regression, clustering, and introductory deep learning techniques to real datasets.
  • L04: Critically evaluate the accuracy, credibility, suitability and results of ML models for scientific questions.
  • L05: Develop confidence to explore further ML applications in their own research and study project in earth and planetary sciences.

Machine Learning in Earth and Planetary Sciences

Machine learning (ML) has become a transformative tool in earth and planetary sciences, enabling researchers to analyze vast and complex datasets that were previously challenging to interpret. From climate modeling and seismic analysis to planetary exploration and remote sensing, ML techniques facilitate the extraction of meaningful patterns, predictions, and insights that advance our understanding of Earth’s systems and other planetary bodies.

Examples include (but not limited to):

  • Remote Sensing & Satellite Data Analysis: Automated classification of land cover, deforestation monitoring, and urban expansion detection.
  • Climate Change Modeling: Improving predictions of temperature, precipitation, and extreme weather events.
  • Seismology & Geophysics: Earthquake prediction, seismic signal interpretation, and subsurface imaging.
  • Planetary Exploration: Analyzing data from spacecraft and rovers to identify geological features and detect signs of past habitability.

Python Information

We will use Python as the primary programming language. If you are new to Python or need a refresher, the course includes a quick review and requires some self-study.

  • Programming Language: Python 3.x
  • Libraries & Tools: NumPy, pandas, scikit-learn, matplotlib, seaborn, TensorFlow/Keras (optional for deep learning modules), geopandas (for spatial data)
  • Development Environment: Jupyter Notebooks, Anaconda distribution recommended

Class Structure

  • There will be two lectures and two in-class practice sessions, in general, per week.
  • Students are expected (not required) to read the lecture notes and download the Jupyter notebooks for the corresponding lecture notes prior to attending class.
  • Each lecture begins with a quick review (~5 min) and proceed to the topic of the day. Lecture time will be mostly devoted to explaining the tech details covered in the lecture notes, so reading the lecture prior to class helps you to think and ask questions (always encouraged).
  • At the end of every lecture, students may be asked to turn in their lecture (Jupyter) notebooks with the in-class practices filled in. In the second half of the course, each student will have the opportunity to present a practice solution to the class with data analysis skills (depending on the course schedule) but will be informed of their assignment ahead of time. Excellent in-class practice notebooks may count toward 5% of the final grade as extra credit.
  • There will be a programming assignment every two weeks, due BEFORE CLASS two weeks from the assignment. Assignments will count for 50% of the grade (approximately 10% per assignment), coding style, figure adjustment etc. are all parts of the assessment.
  • Help with assignments and the solutions before assignment due will be available through either the lecturer or the TA using the course Slack channel or by appointment.
  • The final project will be 50% of the total grade, with a report (25%) and a presentation (25%).

Class Expectations

  • Lecture attendance is strongly recommended, and bi-weekly homework assignments are mandatory as is the final project/report.
  • Homework will not be accepted late.
  • You may consult any online resources to help you solve your problem as well as your fellow students. This is encouraged. But do NOT copy verbatim what you find there. You must re-work anything through your own brain and in your own words and style or you will not learn how to program. Copying programs does not help you learn and in fact it is “cheating”. Cheating will be reported to the authorities and will result in unpleasantness all around.
  • The best way to learn how to program is to attend the lecture, do the practice problems and assignments and attend the discussion section where your TA can help.

Course Assessment

ComponentWeight
HW assignments50%
Final Project - Report25%
Final Project - Presentation25%
Total100%

HKU Honor Code

You need to follow the following Honor Code to HKU’s standard of academic integrity. In this course, maintaining academic integrity is essential to ensure a fair and productive learning environment.

The key principles are:

  • Original Work and Proper Attribution: Students must submit their own code and solutions. If code or ideas from external sources, including online repositories or publications, are used, proper attribution must be provided.
  • No Code Plagiarism: Copying codes from classmates or using someone else’s code without reference as your own is prohibited. All submissions should reflect your own understanding and effort – even if they are from somewhere else.
  • Honesty About AI Assistance: Students are encouraged to use AI tools (like AI assistants) to aid their learning and coding. However, you must honestly disclose the extent and nature of AI assistance in your work, ensuring transparency.

Violations of this honor code will be addressed in accordance with the course and institutional policies, which may include failing the assignment, course, or other academic penalties.

Course Topics (draft, subject to adjustment)

WeekLec.Topic
11Intro to machine learning, course overview
12Python basics review 1: Numpy and Matplotlib
23Python basics review 2: Pandas
24Introduction to Exploratory Data Analysis
35Supervised learning: Classification 1
36Supervised learning: Classification 2
47Intro to Classification Algorithms
48Application of Classification in Earth and Planetary
59Supervised learning: Regression 1
510Supervised learning: Regression 2
611Wrap-up session 1
612Mid-term task: final project proposal
713Intro to regression Algorithms
714Application of regression in Earth and Planetary
815Unsupervised learning: Clustering 1
816Unsupervised learning: Clustering 2
915Intro to Clustering algorithms
916Application of Clustering in Earth and Planetary
1017Introduction to Deep Learning
1018Reinforcement learning
1119Research applications of ML 1
1120Research Applications of ML 2
1221Wrap-up sessions 2
1222Final Presentation