Functional groups are assigned with binary indicators, 1 indicates the presence, and 0 indicates the absence of the functional groups. Then, the information of the molecules, i.e. canonical SMILES code, IR spectrum array, and functional group labels are stored in a dataframe. Additionally, for our in-house Chemotion dataset of 4175 samples, 441 spectra with high baselines and high background noise were excluded. This was done manually based on visualization and comparing the spectra. According to Chemotion's data storage protocol, each molecule in this dataset may have multiple samples, leading to multiple spectra available per chemical structure (molecule). Usually, scientists upload additional spectra in those cases where a better quality of the spectrum was obtained. Therefore, our approach involves selecting the most recent measured spectra (assumed to be the spectra with the highest quality) from these multiple samples. Following these steps, we end up with a set of 1763 samples. We did not apply any data cleaning procedure to the commercial NIST dataset.