2025 MSU Physics and Astronomy Short Course on Machine Learning

2025 MSU Physics and Astronomy Short Course on Machine Learning#

I am actively updating the site to focus more on physics data and to better align the course with your needs. Not everything is ready yet, but I will be updating the site as we go along. If you have any questions or suggestions, please let me know! caball14@msu.edu

This short course will focus on the essential aspects of machine learning that are likely to feature in a variety of research areas that you might interact with. From astrophysics to nuclear physics to physics education, many researchers are using the tools of machine learning to gain insight into essential problems in physics. This course will provide you with the basic tools to get started with machine learning and to begin to explore how these tools might be useful in your own research.

Connecting to the class#

Learning Outcomes#

By the end of this short course, you should be able to:

  • Read data into a pandas DataFrame

  • Plot data and propose potential models for analysis

  • Split data into training and testing sets

  • Build classification and regression models

  • Evaluate the quality of fitted models

  • Articulate the basic workflow of machine learning

Organization of the Course#

The course will be conducted over the next four weeks. We will meet in 1300 BPS from 10am-12pm EDT. The course will make use of Jupyter notebooks, so you will need to make sure that you have installed the Anaconda distribution of Python with Jupyter or something equivalent. The course is broken down into 6 topics:

  1. May 30th - Getting Started with pandas and matplotlib; software installation, reading data, plotting data, etc.

  2. June 6th - The scikit-learn workflow (KNN classification); confusion matrices, ROC curves, etc. Slides

  3. June 13th - The scikit-learn workflow (linear regression); quality of fit, residuals, etc.

  4. June 20th - More scikit-learn models (decision trees, random forests, etc.)

The first class is intended to make sure you have what you need to get started with the course. If you are comfortable with Python and Jupyter notebooks, you can skip the first class (e.g., if you are an MSU student and have already taken CMSE 201). Of course, you are welcome to attend the first class if you would like a refresher on the basics of Python and Jupyter notebooks, or just to hang out.