First, 146 relevant chemical descriptors are calculated, which generally includes information such as number of certain atom types, presence/absence of features, and number of rings, among other physical descriptors that can be calculated from the atom types and connectivity. A list of the available descriptors in RDKit is provided in Table of Supporting Information. Thus, the important chemical features of each polymer repeating unit are identified. We additionally use RDKit to generate the MFF for each repeating unit chemistry. In short, the fingerprinting process consists of 42 : (1) assign each atom with an identifier, (2) update each atom's identifiers based on its neighbors, (3) remove duplicates, and (4) fold list of identifiers into a bit vector (a Morgan fingerprint). In our case, the chemical substructures considered are up to three units in radius, where each atom or bond is one unit, resulting in 3209 different substructures. In the fingerprint vector of length 3209, each bucket indicates if a certain substructure is present, and we minimize information loss by accounting for frequency if a substructure is present multiple times in a single repeating unit, known as the Morgan fingerprint with frequency (MFF) . Finally, we shorten the fingerprint vector by only using the 114 most common substructures in the training set as input features. Unlike group-contribution methods, fingerprinting is dynamic and can evolve to include new chemical structures and connectivities between neighboring repeating units.