Abstract
Here we report a computational activity that introduces undergraduate physical chemistry students to machine learning (ML) in the context of vibrational spectroscopy. In the first part of the activity, students use ML binary classification algorithms to distinguish between carbonyl-containing and non-carbonyl-containing molecules on the basis of their infrared absorption spectra and test modifications to this basic analysis. In a further extension of the activity, students implement a multiclass classification to predict whether carbonyl-containing molecules contain a ketone, a carboxylic acid, or another carbonyl group. This activity is designed to introduce students both to the basic workflow of a ML classification analysis and to some of the ways in which machine learning analyses can fail. We provide a comprehensive handout for the activity, including theoretical background and a detailed protocol, as well as datasets and code to implement the exercise in Python or Mathematica.
Supplementary materials
Title
Supporting information
Description
Supporting information including supplementary methods and results
Actions
Title
Student handout and protocol
Description
Student handout containing background information, an example protocol, and discussion questions
Actions
Supplementary weblinks
Title
GitHub repository
Description
GitHub repository containing the latest versions of the notebooks and student handout
Actions
View