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.
Supporting information including supplementary methods and results
Student handout and protocol
Student handout containing background information, an example protocol, and discussion questions