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#
We will meet on Fridays from 10am-12pm in BPS 1300
Email Danny at caball14@msu.edu or make an appointment on Danny’s calendar if you have any questions or concerns.
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:
May 30th - Getting Started with
pandas
andmatplotlib
; software installation, reading data, plotting data, etc.June 6th - The
scikit-learn
workflow (KNN classification); confusion matrices, ROC curves, etc. SlidesJune 13th - The
scikit-learn
workflow (linear regression); quality of fit, residuals, etc.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.